@sentropic/h2a 0.85.20 → 0.85.22

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.
Files changed (56) hide show
  1. package/.claude-plugin/plugin.json +2 -8
  2. package/.codex-plugin/plugin.json +2 -2
  3. package/.mcp.json +0 -4
  4. package/dist/cli-contract.js +2 -2
  5. package/dist/cli-contract.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +106 -24
  8. package/dist/cli.js.map +1 -1
  9. package/dist/hosts/agy.d.ts.map +1 -1
  10. package/dist/hosts/agy.js +2 -13
  11. package/dist/hosts/agy.js.map +1 -1
  12. package/dist/hosts/claude.d.ts.map +1 -1
  13. package/dist/hosts/claude.js +2 -13
  14. package/dist/hosts/claude.js.map +1 -1
  15. package/dist/hosts/codex.d.ts +16 -4
  16. package/dist/hosts/codex.d.ts.map +1 -1
  17. package/dist/hosts/codex.js +36 -6
  18. package/dist/hosts/codex.js.map +1 -1
  19. package/dist/hosts/gemini.d.ts.map +1 -1
  20. package/dist/hosts/gemini.js +2 -13
  21. package/dist/hosts/gemini.js.map +1 -1
  22. package/dist/hosts/hermes.d.ts.map +1 -1
  23. package/dist/hosts/hermes.js +2 -12
  24. package/dist/hosts/hermes.js.map +1 -1
  25. package/dist/hosts/opencode.d.ts.map +1 -1
  26. package/dist/hosts/opencode.js +2 -12
  27. package/dist/hosts/opencode.js.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/mcp.d.ts +1 -1
  30. package/dist/mcp.d.ts.map +1 -1
  31. package/dist/mcp.js +18 -1
  32. package/dist/mcp.js.map +1 -1
  33. package/dist/runtime/mcp/index.d.ts +1 -1
  34. package/dist/runtime/mcp/index.d.ts.map +1 -1
  35. package/dist/runtime/mcp/index.js +1 -1
  36. package/dist/runtime/mcp/index.js.map +1 -1
  37. package/dist/runtime/mcp/server.d.ts +11 -1
  38. package/dist/runtime/mcp/server.d.ts.map +1 -1
  39. package/dist/runtime/mcp/server.js +30 -0
  40. package/dist/runtime/mcp/server.js.map +1 -1
  41. package/dist/runtime/mcp/stdio.d.ts.map +1 -1
  42. package/dist/runtime/mcp/stdio.js +3 -1
  43. package/dist/runtime/mcp/stdio.js.map +1 -1
  44. package/dist/runtime/mcp/tools.d.ts +6 -6
  45. package/dist/runtime/mcp/tools.d.ts.map +1 -1
  46. package/dist/runtime/mcp/tools.js +21 -1
  47. package/dist/runtime/mcp/tools.js.map +1 -1
  48. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts +1 -1
  49. package/dist/runtime/mcp-http/hosted-mcp-server.d.ts.map +1 -1
  50. package/dist/runtime/mcp-http/hosted-mcp-server.js +3 -0
  51. package/dist/runtime/mcp-http/hosted-mcp-server.js.map +1 -1
  52. package/dist/runtime/mcp-http/readonly-allowlist.d.ts.map +1 -1
  53. package/dist/runtime/mcp-http/readonly-allowlist.js +18 -1
  54. package/dist/runtime/mcp-http/readonly-allowlist.js.map +1 -1
  55. package/package.json +2 -2
  56. package/skills/h2a/SKILL.md +17 -2
@@ -1 +1 @@
1
- {"version":3,"file":"agy.d.ts","sourceRoot":"","sources":["../../src/hosts/agy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAUpB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAiBtB;AAED,eAAO,MAAM,YAAY,EAAE,6BAUjB,CAAC"}
1
+ {"version":3,"file":"agy.d.ts","sourceRoot":"","sources":["../../src/hosts/agy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAYtB;AAED,eAAO,MAAM,YAAY,EAAE,6BAUjB,CAAC"}
package/dist/hosts/agy.js CHANGED
@@ -1,10 +1,4 @@
1
- function buildArgs(baseArgs, root) {
2
- const out = [...baseArgs];
3
- if (root) {
4
- out.push("--root", root);
5
- }
6
- return out;
7
- }
1
+ import { renderH2aMcpServer } from "./codex.js";
8
2
  /**
9
3
  * Renders the JSON snippet to expose `h2a mcp-serve` to **agy** (Antigravity,
10
4
  * Google — a Gemini-ecosystem agent CLI). Per the capability matrix
@@ -16,15 +10,10 @@ function buildArgs(baseArgs, root) {
16
10
  * config and handled by install tooling.
17
11
  */
18
12
  export function renderMcpConfig(options = {}) {
19
- const command = options.command ?? "h2a";
20
- const baseArgs = options.args ?? ["mcp-serve"];
21
13
  return {
22
14
  config: {
23
15
  mcpServers: {
24
- h2a: {
25
- command,
26
- args: buildArgs(baseArgs, options.root)
27
- }
16
+ h2a: renderH2aMcpServer(options)
28
17
  }
29
18
  },
30
19
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"agy.js","sourceRoot":"","sources":["../../src/hosts/agy.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAAC,QAA2B,EAAE,IAAwB;IACtE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO;oBACP,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;iBACxC;aACF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,mJAAmJ;YACzJ,OAAO,EAAE,kCAAkC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,4EAA4E;IAC5E,8CAA8C;IAC9C,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
1
+ {"version":3,"file":"agy.js","sourceRoot":"","sources":["../../src/hosts/agy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC;aACjC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,mJAAmJ;YACzJ,OAAO,EAAE,kCAAkC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,4EAA4E;IAC5E,8CAA8C;IAC9C,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/hosts/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAapB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAqBtB;AAED,eAAO,MAAM,eAAe,EAAE,6BAQpB,CAAC"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/hosts/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAgBtB;AAED,eAAO,MAAM,eAAe,EAAE,6BAQpB,CAAC"}
@@ -1,10 +1,4 @@
1
- function buildArgs(baseArgs, root) {
2
- const out = [...baseArgs];
3
- if (root) {
4
- out.push("--root", root);
5
- }
6
- return out;
7
- }
1
+ import { renderH2aMcpServer } from "./codex.js";
8
2
  /**
9
3
  * Renders the JSON snippet a user must add to their Claude Code MCP config
10
4
  * to expose the `h2a mcp-serve` JSON-RPC 2.0 server as an MCP backend.
@@ -14,15 +8,10 @@ function buildArgs(baseArgs, root) {
14
8
  * Both are documented in the path hint.
15
9
  */
16
10
  export function renderMcpConfig(options = {}) {
17
- const command = options.command ?? "h2a";
18
- const baseArgs = options.args ?? ["mcp-serve"];
19
11
  return {
20
12
  config: {
21
13
  mcpServers: {
22
- h2a: {
23
- command,
24
- args: buildArgs(baseArgs, options.root)
25
- }
14
+ h2a: renderH2aMcpServer(options)
26
15
  }
27
16
  },
28
17
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/hosts/claude.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAChB,QAA2B,EAC3B,IAAwB;IAExB,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO;oBACP,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;iBACxC;aACF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,yEAAyE;gBACzE,oEAAoE;gBACpE,sEAAsE;gBACtE,uBAAuB;YACzB,OAAO,EAAE,2BAA2B;SACrC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/hosts/claude.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC;aACjC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,yEAAyE;gBACzE,oEAAoE;gBACpE,sEAAsE;gBACtE,uBAAuB;YACzB,OAAO,EAAE,2BAA2B;SACrC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
@@ -1,19 +1,29 @@
1
1
  export interface RenderMcpConfigOptions {
2
+ /**
3
+ * The one active h2a endpoint for this host. Local is a stdio child process;
4
+ * remote is an HTTP MCP URL. A host config must never contain both forms.
5
+ */
6
+ endpoint?: "local" | "remote";
2
7
  /** Override the executable. Defaults to `"h2a"` (resolved through `PATH`). */
3
8
  command?: string;
4
9
  /** Override the args prefix. Defaults to `["mcp-serve"]`. */
5
10
  args?: readonly string[];
6
11
  /** When set, appends `["--root", root]` to the args. */
7
12
  root?: string;
13
+ /** Required for `endpoint: "remote"`; the host-native HTTP MCP URL. */
14
+ url?: string;
8
15
  }
16
+ export type H2AMcpEndpointConfig = {
17
+ command: string;
18
+ args: string[];
19
+ } | {
20
+ url: string;
21
+ };
9
22
  export interface McpHostConfigSnippet {
10
23
  /** JSON snippet to merge into the host's MCP config file. */
11
24
  config: {
12
25
  mcpServers: {
13
- h2a: {
14
- command: string;
15
- args: string[];
16
- };
26
+ h2a: H2AMcpEndpointConfig;
17
27
  };
18
28
  };
19
29
  path: {
@@ -23,6 +33,8 @@ export interface McpHostConfigSnippet {
23
33
  example: string;
24
34
  };
25
35
  }
36
+ /** Render exactly one selected h2a endpoint, never a local+remote pair. */
37
+ export declare function renderH2aMcpServer(options?: RenderMcpConfigOptions): H2AMcpEndpointConfig;
26
38
  /**
27
39
  * Renders the JSON snippet a user must add to their Codex CLI MCP config
28
40
  * to expose the `h2a mcp-serve` JSON-RPC 2.0 server as an MCP backend.
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/hosts/codex.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE;QACN,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,OAAO,EAAE,MAAM,CAAC;gBAChB,IAAI,EAAE,MAAM,EAAE,CAAC;aAChB,CAAC;SACH,CAAC;KACH,CAAC;IACF,IAAI,EAAE;QACJ,8DAA8D;QAC9D,IAAI,EAAE,MAAM,CAAC;QACb,0DAA0D;QAC1D,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAaD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAoBtB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,CACzB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,oBAAoB,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACtE,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,oBAAoB,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,6BAQnB,CAAC"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/hosts/codex.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GACnC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAapB,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE;QACN,UAAU,EAAE;YACV,GAAG,EAAE,oBAAoB,CAAC;SAC3B,CAAC;KACH,CAAC;IACF,IAAI,EAAE;QACJ,8DAA8D;QAC9D,IAAI,EAAE,MAAM,CAAC;QACb,0DAA0D;QAC1D,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAaD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAsBtB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAetB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,CACzB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,oBAAoB,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACtE,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,oBAAoB,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,6BAQnB,CAAC"}
@@ -1,3 +1,14 @@
1
+ function assertHttpMcpUrl(value) {
2
+ try {
3
+ const url = new URL(value);
4
+ if (url.protocol !== "https:" && url.protocol !== "http:") {
5
+ throw new Error("unsupported protocol");
6
+ }
7
+ }
8
+ catch {
9
+ throw new Error("remote h2a endpoint requires an absolute http(s) MCP URL");
10
+ }
11
+ }
1
12
  function buildArgs(baseArgs, root) {
2
13
  const out = [...baseArgs];
3
14
  if (root) {
@@ -5,6 +16,30 @@ function buildArgs(baseArgs, root) {
5
16
  }
6
17
  return out;
7
18
  }
19
+ /** Render exactly one selected h2a endpoint, never a local+remote pair. */
20
+ export function renderH2aMcpServer(options = {}) {
21
+ const endpoint = options.endpoint ?? "local";
22
+ if (endpoint !== "local" && endpoint !== "remote") {
23
+ throw new Error(`unknown h2a endpoint "${endpoint}"`);
24
+ }
25
+ if (endpoint === "remote") {
26
+ if (!options.url) {
27
+ throw new Error("remote h2a endpoint requires a URL");
28
+ }
29
+ assertHttpMcpUrl(options.url);
30
+ if (options.command || options.args || options.root) {
31
+ throw new Error("remote h2a endpoint cannot include local command, args, or root");
32
+ }
33
+ return { url: options.url };
34
+ }
35
+ if (options.url) {
36
+ throw new Error("local h2a endpoint cannot include a remote URL");
37
+ }
38
+ return {
39
+ command: options.command ?? "h2a",
40
+ args: buildArgs(options.args ?? ["mcp-serve"], options.root)
41
+ };
42
+ }
8
43
  /**
9
44
  * Renders the JSON snippet a user must add to their Codex CLI MCP config
10
45
  * to expose the `h2a mcp-serve` JSON-RPC 2.0 server as an MCP backend.
@@ -14,15 +49,10 @@ function buildArgs(baseArgs, root) {
14
49
  * `~/.config/codex/mcp.json` (XDG layout).
15
50
  */
16
51
  export function renderMcpConfig(options = {}) {
17
- const command = options.command ?? "h2a";
18
- const baseArgs = options.args ?? ["mcp-serve"];
19
52
  return {
20
53
  config: {
21
54
  mcpServers: {
22
- h2a: {
23
- command,
24
- args: buildArgs(baseArgs, options.root)
25
- }
55
+ h2a: renderH2aMcpServer(options)
26
56
  }
27
57
  },
28
58
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/hosts/codex.ts"],"names":[],"mappings":"AA2BA,SAAS,SAAS,CAChB,QAA2B,EAC3B,IAAwB;IAExB,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO;oBACP,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;iBACxC;aACF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,kEAAkE;gBAClE,sEAAsE;gBACtE,uEAAuE;YACzE,OAAO,EAAE,0BAA0B;SACpC;KACF,CAAC;AACJ,CAAC;AAsCD,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/hosts/codex.ts"],"names":[],"mappings":"AAoBA,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAiBD,SAAS,SAAS,CAChB,QAA2B,EAC3B,IAAwB;IAExB,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAChC,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC7C,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC;aACjC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,kEAAkE;gBAClE,sEAAsE;gBACtE,uEAAuE;YACzE,OAAO,EAAE,0BAA0B;SACpC;KACF,CAAC;AACJ,CAAC;AAsCD,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/hosts/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAapB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAqBtB;AAED,eAAO,MAAM,eAAe,EAAE,6BAQpB,CAAC"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/hosts/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,oBAAoB,CAgBtB;AAED,eAAO,MAAM,eAAe,EAAE,6BAQpB,CAAC"}
@@ -1,10 +1,4 @@
1
- function buildArgs(baseArgs, root) {
2
- const out = [...baseArgs];
3
- if (root) {
4
- out.push("--root", root);
5
- }
6
- return out;
7
- }
1
+ import { renderH2aMcpServer } from "./codex.js";
8
2
  /**
9
3
  * Renders the JSON snippet a user must add to their Gemini CLI MCP config
10
4
  * to expose the `h2a mcp-serve` JSON-RPC 2.0 server as an MCP backend.
@@ -14,15 +8,10 @@ function buildArgs(baseArgs, root) {
14
8
  * root. Both are documented in the path hint.
15
9
  */
16
10
  export function renderMcpConfig(options = {}) {
17
- const command = options.command ?? "h2a";
18
- const baseArgs = options.args ?? ["mcp-serve"];
19
11
  return {
20
12
  config: {
21
13
  mcpServers: {
22
- h2a: {
23
- command,
24
- args: buildArgs(baseArgs, options.root)
25
- }
14
+ h2a: renderH2aMcpServer(options)
26
15
  }
27
16
  },
28
17
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/hosts/gemini.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAChB,QAA2B,EAC3B,IAAwB;IAExB,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO;oBACP,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;iBACxC;aACF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,sEAAsE;gBACtE,gEAAgE;gBAChE,qEAAqE;gBACrE,wCAAwC;YAC1C,OAAO,EAAE,yBAAyB;SACnC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/hosts/gemini.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAAE;IAEpC,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC;aACjC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,sEAAsE;gBACtE,gEAAgE;gBAChE,qEAAqE;gBACrE,wCAAwC;YAC1C,OAAO,EAAE,yBAAyB;SACnC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/hosts/hermes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAQpB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,oBAAoB,CAoB1F;AAED,eAAO,MAAM,eAAe,EAAE,6BAQpB,CAAC"}
1
+ {"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../src/hosts/hermes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,oBAAoB,CAe1F;AAED,eAAO,MAAM,eAAe,EAAE,6BAQpB,CAAC"}
@@ -1,9 +1,4 @@
1
- function buildArgs(baseArgs, root) {
2
- const out = [...baseArgs];
3
- if (root)
4
- out.push("--root", root);
5
- return out;
6
- }
1
+ import { renderH2aMcpServer } from "./codex.js";
7
2
  /**
8
3
  * Hermes Agent exposes MCP management via `hermes mcp {add,list,test,...}` and
9
4
  * stores user configuration under `~/.hermes`. h2a renders the same stdio MCP
@@ -11,15 +6,10 @@ function buildArgs(baseArgs, root) {
11
6
  * Hermes' MCP config or register it with `hermes mcp add` where available.
12
7
  */
13
8
  export function renderMcpConfig(options = {}) {
14
- const command = options.command ?? "h2a";
15
- const baseArgs = options.args ?? ["mcp-serve"];
16
9
  return {
17
10
  config: {
18
11
  mcpServers: {
19
- h2a: {
20
- command,
21
- args: buildArgs(baseArgs, options.root)
22
- }
12
+ h2a: renderH2aMcpServer(options)
23
13
  }
24
14
  },
25
15
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/hosts/hermes.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAAC,QAA2B,EAAE,IAAwB;IACtE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO;oBACP,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;iBACxC;aACF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,uEAAuE;gBACvE,uEAAuE;gBACvE,oEAAoE;YACtE,OAAO,EAAE,uBAAuB;SACjC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
1
+ {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/hosts/hermes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC;aACjC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,uEAAuE;gBACvE,uEAAuE;gBACvE,oEAAoE;YACtE,OAAO,EAAE,uBAAuB;SACjC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/hosts/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAQpB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,oBAAoB,CAoB1F;AAED,eAAO,MAAM,iBAAiB,EAAE,6BAQtB,CAAC"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/hosts/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,oBAAoB,CAe1F;AAED,eAAO,MAAM,iBAAiB,EAAE,6BAQtB,CAAC"}
@@ -1,9 +1,4 @@
1
- function buildArgs(baseArgs, root) {
2
- const out = [...baseArgs];
3
- if (root)
4
- out.push("--root", root);
5
- return out;
6
- }
1
+ import { renderH2aMcpServer } from "./codex.js";
7
2
  /**
8
3
  * OpenCode uses JSON/JSONC project/user configuration and supports plugin/MCP
9
4
  * extension points in current distributions. h2a's host setup is deliberately
@@ -11,15 +6,10 @@ function buildArgs(baseArgs, root) {
11
6
  * merge/enable operation to the host-specific installer or the user.
12
7
  */
13
8
  export function renderMcpConfig(options = {}) {
14
- const command = options.command ?? "h2a";
15
- const baseArgs = options.args ?? ["mcp-serve"];
16
9
  return {
17
10
  config: {
18
11
  mcpServers: {
19
- h2a: {
20
- command,
21
- args: buildArgs(baseArgs, options.root)
22
- }
12
+ h2a: renderH2aMcpServer(options)
23
13
  }
24
14
  },
25
15
  path: {
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/hosts/opencode.ts"],"names":[],"mappings":"AAMA,SAAS,SAAS,CAAC,QAA2B,EAAE,IAAwB;IACtE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO;oBACP,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;iBACxC;aACF;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,mEAAmE;gBACnE,sEAAsE;gBACtE,qDAAqD;YACvD,OAAO,EAAE,kCAAkC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAkC;IAC9D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/hosts/opencode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkC,EAAE;IAClE,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC;aACjC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EACF,mEAAmE;gBACnE,sEAAsE;gBACtE,qDAAqD;YACvD,OAAO,EAAE,kCAAkC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAkC;IAC9D,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,gBAAgB;IACjC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,CAAC;IACP,mBAAmB,EAAE,IAAI;IACzB,eAAe;CACP,CAAC"}
package/dist/index.d.ts CHANGED
@@ -111,6 +111,6 @@ export declare const H2A_CLI_ADAPTER: {
111
111
  readonly corePackageName: "@sentropic/h2a";
112
112
  readonly protocol: "sentropic.h2a";
113
113
  readonly hosts: readonly [import("./hosts/codex.js").H2AConfigurableHostDescriptor, import("./hosts/codex.js").H2AConfigurableHostDescriptor, import("./hosts/codex.js").H2AConfigurableHostDescriptor, import("./hosts/codex.js").H2AConfigurableHostDescriptor, import("./hosts/codex.js").H2AConfigurableHostDescriptor, import("./hosts/codex.js").H2AConfigurableHostDescriptor];
114
- readonly mcpToolNames: readonly ["h2a_register_instance", "h2a_discover_instances", "h2a_open_negotiation", "h2a_offer", "h2a_counteroffer", "h2a_sign", "h2a_stabilize", "h2a_attest_comprehension", "h2a_declare_conflit_interet", "h2a_conflict_posture", "h2a_inbox", "h2a_append_journal", "h2a_escalate", "h2a_session_open", "h2a_session_close", "h2a_discover_sessions", "h2a_nhi_report", "h2a_nhi_inventory", "h2a_nhi_attest", "h2a_nhi_offboard", "h2a_nhi_export", "h2a_blockage_raise", "h2a_blockage_list", "h2a_blockage_resolve", "h2a_conductor", "h2a_conductor_claim", "h2a_conductor_release", "h2a_conductor_launch_check", "h2a_conductor_launch", "h2a_run", "h2a_loop_create", "h2a_loop_join", "h2a_loop_report", "h2a_loop_done", "h2a_loop_stop", "h2a_loop_list", "h2a_loop_status"];
114
+ readonly mcpToolNames: readonly ["h2a_register_instance", "h2a_discover_instances", "h2a_open_negotiation", "h2a_offer", "h2a_counteroffer", "h2a_sign", "h2a_stabilize", "h2a_attest_comprehension", "h2a_declare_conflit_interet", "h2a_conflict_posture", "h2a_inbox", "h2a_append_journal", "h2a_escalate", "h2a_session_open", "h2a_session_close", "h2a_discover_sessions", "h2a_nhi_report", "h2a_nhi_inventory", "h2a_nhi_attest", "h2a_nhi_offboard", "h2a_nhi_export", "h2a_blockage_raise", "h2a_blockage_list", "h2a_blockage_resolve", "h2a_conductor", "h2a_conductor_claim", "h2a_conductor_release", "h2a_conductor_launch_check", "h2a_conductor_launch", "h2a_run", "h2a_loop_create", "h2a_loop_join", "h2a_loop_report", "h2a_loop_done", "h2a_loop_stop", "h2a_loop_list", "h2a_loop_status", "track_report", "track_snapshot", "track_query", "track_validate", "track_audit", "track_branch_provenance", "track_freshness", "track_external_deps", "track_status", "track_verification_runs", "track_scope_validate", "track_cursor", "track_canevas", "track_amendment_trace", "track_workspace_activity"];
115
115
  };
116
116
  //# sourceMappingURL=index.d.ts.map
package/dist/mcp.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const H2A_CLI_MCP_TOOL_NAMES: readonly ["h2a_register_instance", "h2a_discover_instances", "h2a_open_negotiation", "h2a_offer", "h2a_counteroffer", "h2a_sign", "h2a_stabilize", "h2a_attest_comprehension", "h2a_declare_conflit_interet", "h2a_conflict_posture", "h2a_inbox", "h2a_append_journal", "h2a_escalate", "h2a_session_open", "h2a_session_close", "h2a_discover_sessions", "h2a_nhi_report", "h2a_nhi_inventory", "h2a_nhi_attest", "h2a_nhi_offboard", "h2a_nhi_export", "h2a_blockage_raise", "h2a_blockage_list", "h2a_blockage_resolve", "h2a_conductor", "h2a_conductor_claim", "h2a_conductor_release", "h2a_conductor_launch_check", "h2a_conductor_launch", "h2a_run", "h2a_loop_create", "h2a_loop_join", "h2a_loop_report", "h2a_loop_done", "h2a_loop_stop", "h2a_loop_list", "h2a_loop_status"];
1
+ export declare const H2A_CLI_MCP_TOOL_NAMES: readonly ["h2a_register_instance", "h2a_discover_instances", "h2a_open_negotiation", "h2a_offer", "h2a_counteroffer", "h2a_sign", "h2a_stabilize", "h2a_attest_comprehension", "h2a_declare_conflit_interet", "h2a_conflict_posture", "h2a_inbox", "h2a_append_journal", "h2a_escalate", "h2a_session_open", "h2a_session_close", "h2a_discover_sessions", "h2a_nhi_report", "h2a_nhi_inventory", "h2a_nhi_attest", "h2a_nhi_offboard", "h2a_nhi_export", "h2a_blockage_raise", "h2a_blockage_list", "h2a_blockage_resolve", "h2a_conductor", "h2a_conductor_claim", "h2a_conductor_release", "h2a_conductor_launch_check", "h2a_conductor_launch", "h2a_run", "h2a_loop_create", "h2a_loop_join", "h2a_loop_report", "h2a_loop_done", "h2a_loop_stop", "h2a_loop_list", "h2a_loop_status", "track_report", "track_snapshot", "track_query", "track_validate", "track_audit", "track_branch_provenance", "track_freshness", "track_external_deps", "track_status", "track_verification_runs", "track_scope_validate", "track_cursor", "track_canevas", "track_amendment_trace", "track_workspace_activity"];
2
2
  //# sourceMappingURL=mcp.d.ts.map
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,6vBAsCzB,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,6iCAuDzB,CAAC"}
package/dist/mcp.js CHANGED
@@ -35,6 +35,23 @@ export const H2A_CLI_MCP_TOOL_NAMES = [
35
35
  "h2a_loop_done",
36
36
  "h2a_loop_stop",
37
37
  "h2a_loop_list",
38
- "h2a_loop_status"
38
+ "h2a_loop_status",
39
+ // Track's read-only tool surface is composed into the selected h2a endpoint.
40
+ // Keep this list aligned with @sentropic/track's exported descriptors.
41
+ "track_report",
42
+ "track_snapshot",
43
+ "track_query",
44
+ "track_validate",
45
+ "track_audit",
46
+ "track_branch_provenance",
47
+ "track_freshness",
48
+ "track_external_deps",
49
+ "track_status",
50
+ "track_verification_runs",
51
+ "track_scope_validate",
52
+ "track_cursor",
53
+ "track_canevas",
54
+ "track_amendment_trace",
55
+ "track_workspace_activity"
39
56
  ];
40
57
  //# sourceMappingURL=mcp.js.map
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,kBAAkB;IAClB,UAAU;IACV,eAAe;IACf,0BAA0B;IAC1B,6BAA6B;IAC7B,sBAAsB;IACtB,WAAW;IACX,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,eAAe;IACf,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;IAC5B,sBAAsB;IACtB,SAAS;IACT,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,eAAe;IACf,iBAAiB;CACT,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,kBAAkB;IAClB,UAAU;IACV,eAAe;IACf,0BAA0B;IAC1B,6BAA6B;IAC7B,sBAAsB;IACtB,WAAW;IACX,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,eAAe;IACf,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;IAC5B,sBAAsB;IACtB,SAAS;IACT,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,6EAA6E;IAC7E,uEAAuE;IACvE,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,yBAAyB;IACzB,iBAAiB;IACjB,qBAAqB;IACrB,cAAc;IACd,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,eAAe;IACf,uBAAuB;IACvB,0BAA0B;CAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { createMcpServer, type CreateMcpServerOptions, type McpServer } from "./server.js";
1
+ export { createMcpServer, isMcpTransportResult, type CreateMcpServerOptions, type McpTransportResult, type McpServer } from "./server.js";
2
2
  export { H2A_CLI_MCP_TOOL_DESCRIPTORS, type McpToolDescriptor, type McpToolName } from "./tools.js";
3
3
  export { type McpErrorResult, type McpToolResult } from "./handlers.js";
4
4
  export { H2A_MCP_READY_FILE_ENV, H2A_MCP_READY_KIND, H2A_MCP_READY_NONCE_ENV, runMcpStdio, type RunMcpStdioOptions } from "./stdio.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { createMcpServer } from "./server.js";
1
+ export { createMcpServer, isMcpTransportResult } from "./server.js";
2
2
  export { H2A_CLI_MCP_TOOL_DESCRIPTORS } from "./tools.js";
3
3
  export {} from "./handlers.js";
4
4
  export { H2A_MCP_READY_FILE_ENV, H2A_MCP_READY_KIND, H2A_MCP_READY_NONCE_ENV, runMcpStdio } from "./stdio.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,4BAA4B,EAG7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGN,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EAItB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EAGhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EAIrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,4BAA4B,EAG7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGN,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EAItB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EAGhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC"}
@@ -33,12 +33,22 @@ export interface CreateMcpServerOptions {
33
33
  }
34
34
  export interface McpServer {
35
35
  listTools(): McpToolDescriptor[];
36
- callTool(name: string, args: Record<string, unknown> | undefined): McpToolResult | McpErrorResult;
36
+ callTool(name: string, args: Record<string, unknown> | undefined): McpToolResult | McpErrorResult | McpTransportResult;
37
37
  /** Per-server SessionRegistry, exposed for transport-layer shutdown hooks. */
38
38
  readonly sessions: SessionRegistry;
39
39
  /** Per-server NotificationDispatcher (DEC-052). */
40
40
  readonly notifications: NotificationDispatcher;
41
41
  }
42
+ /** A tool result already formatted for the MCP transport (used by Track reads). */
43
+ export interface McpTransportResult {
44
+ [key: string]: unknown;
45
+ content: Array<{
46
+ type: "text";
47
+ text: string;
48
+ }>;
49
+ isError?: boolean;
50
+ }
51
+ export declare function isMcpTransportResult(value: unknown): value is McpTransportResult;
42
52
  /**
43
53
  * Build an in-process MCP server backed by the local-files runtime.
44
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAqCL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,IAAI,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC;IAClG,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,mDAAmD;IACnD,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;CAChD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CA8G1E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EAqCL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,YAAY,CAAC;AAOpB,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,IAAI,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACvH,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,mDAAmD;IACnD,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;CAChD;AAED,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAOhF;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAuI1E"}
@@ -3,8 +3,16 @@ import { handleAppendJournal, handleAttestComprehension, handleBlockageList, han
3
3
  import { NotificationDispatcher } from "./notifications.js";
4
4
  import { SessionRegistry } from "./sessions.js";
5
5
  import { H2A_CLI_MCP_TOOL_DESCRIPTORS } from "./tools.js";
6
+ import { TRACK_READ_TOOL_DESCRIPTORS, callTrackReadTool } from "@sentropic/track/mcp";
6
7
  import { H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS } from "@sentropic/h2a";
7
8
  import { executeH2aRun, handleH2aRun } from "./agent-launch.js";
9
+ export function isMcpTransportResult(value) {
10
+ return (typeof value === "object" &&
11
+ value !== null &&
12
+ "content" in value &&
13
+ Array.isArray(value.content));
14
+ }
15
+ const TRACK_READ_TOOL_NAMES = new Set(TRACK_READ_TOOL_DESCRIPTORS.map((tool) => tool.name));
8
16
  /**
9
17
  * Build an in-process MCP server backed by the local-files runtime.
10
18
  *
@@ -21,6 +29,28 @@ export function createMcpServer(options) {
21
29
  const notifications = new NotificationDispatcher(sessions, store, options.root, options.notifications?.sink, options.notifications?.intervalMs ??
22
30
  H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS);
23
31
  function callTool(name, args) {
32
+ if (TRACK_READ_TOOL_NAMES.has(name)) {
33
+ try {
34
+ const result = callTrackReadTool({ cwd: options.workspaceRoot ?? process.cwd() }, name, args ?? {});
35
+ return {
36
+ content: [
37
+ { type: "text", text: result.text },
38
+ ...(result.hint !== undefined ? [{ type: "text", text: result.hint }] : [])
39
+ ]
40
+ };
41
+ }
42
+ catch (error) {
43
+ return {
44
+ content: [
45
+ {
46
+ type: "text",
47
+ text: error instanceof Error ? error.message : String(error)
48
+ }
49
+ ],
50
+ isError: true
51
+ };
52
+ }
53
+ }
24
54
  const toolName = name;
25
55
  switch (toolName) {
26
56
  case "h2a_register_instance":
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/stdio.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA4BxD,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,8DAA8D;IAC9D,KAAK,EAAE,QAAQ,CAAC;IAChB,gEAAgE;IAChE,MAAM,EAAE,QAAQ,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,QAAQ,CAAC;IACjB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,CAAC;IACF;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;;;;OAMG;IACH,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,CAAC;IACF;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAaD,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAC7D,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AA4FlD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2PtE"}
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/stdio.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAS5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA4BxD,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,8DAA8D;IAC9D,KAAK,EAAE,QAAQ,CAAC;IAChB,gEAAgE;IAChE,MAAM,EAAE,QAAQ,CAAC;IACjB,yEAAyE;IACzE,MAAM,EAAE,QAAQ,CAAC;IACjB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,CAAC;IACF;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IACF;;;;;;OAMG;IACH,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,CAAC;IACF;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAaD,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAC7D,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AA6FlD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2PtE"}
@@ -6,7 +6,7 @@ import { detectTmuxLaunchContext } from "../drive/index.js";
6
6
  import { createLocalStore } from "../local-files/index.js";
7
7
  import { reapDeadInstancePresence } from "../local-files/presence.js";
8
8
  import { agentVersion } from "../version/agent-version.js";
9
- import { createMcpServer } from "./server.js";
9
+ import { createMcpServer, isMcpTransportResult } from "./server.js";
10
10
  function envInt(name) {
11
11
  const raw = process.env[name];
12
12
  if (!raw)
@@ -73,6 +73,8 @@ function handleMethod(server, method, params) {
73
73
  ? p.arguments
74
74
  : {};
75
75
  const result = server.callTool(name, args);
76
+ if (isMcpTransportResult(result))
77
+ return result;
76
78
  const isError = Boolean(result && typeof result === "object" && "error" in result);
77
79
  return {
78
80
  content: [{ type: "text", text: JSON.stringify(result) }],