@grackle-ai/mcp 0.57.0 → 0.58.0

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.
@@ -4,7 +4,7 @@ export const SCOPED_TOOLS = new Set([
4
4
  "task_create", "task_list", "task_show", "task_start", "task_complete",
5
5
  "session_send_input",
6
6
  "persona_list", "persona_show",
7
- "ipc_spawn",
7
+ "ipc_spawn", "ipc_write", "ipc_close",
8
8
  ]);
9
9
  /** Auth types that receive full tool access. */
10
10
  const FULL_ACCESS_TYPES = new Set(["api-key", "oauth"]);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-scoping.js","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AAGA,qDAAqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IACvD,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe;IACtE,oBAAoB;IACpB,cAAc,EAAE,cAAc;IAC9B,WAAW;CACZ,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,iBAAiB,GAAqC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAChC,QAAsB,EACtB,IAAY,EACZ,WAAwB;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,QAAsB,EAAE,WAAwB;IAC/E,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"tool-scoping.js","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AAGA,qDAAqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IACvD,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe;IACtE,oBAAoB;IACpB,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,WAAW,EAAE,WAAW;CACtC,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,iBAAiB,GAAqC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAChC,QAAsB,EACtB,IAAY,EACZ,WAAwB;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,QAAsB,EAAE,WAAwB;IAC/E,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../src/tools/ipc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,uEAAuE;AACvE,eAAO,MAAM,QAAQ,EAAE,cAAc,EAgEpC,CAAC"}
1
+ {"version":3,"file":"ipc.d.ts","sourceRoot":"","sources":["../../src/tools/ipc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,uEAAuE;AACvE,eAAO,MAAM,QAAQ,EAAE,cAAc,EA4HpC,CAAC"}
package/dist/tools/ipc.js CHANGED
@@ -62,5 +62,65 @@ export const ipcTools = [
62
62
  }
63
63
  },
64
64
  },
65
+ {
66
+ name: "ipc_write",
67
+ group: "ipc",
68
+ description: "Write a message to a child session via an open file descriptor. The message is delivered to the child via sendInput.",
69
+ inputSchema: z.object({
70
+ fd: z.number().int().describe("File descriptor (from ipc_spawn)"),
71
+ message: z.string().describe("Message content to send"),
72
+ }),
73
+ rpcMethod: "writeToFd",
74
+ mutating: true,
75
+ async handler(args, client, authContext) {
76
+ try {
77
+ const sessionId = authContext?.type === "scoped" ? authContext.taskSessionId : "";
78
+ if (!sessionId) {
79
+ return {
80
+ content: [{ type: "text", text: "Error: ipc_write requires scoped auth (agent context)" }],
81
+ isError: true,
82
+ };
83
+ }
84
+ await client.writeToFd({
85
+ sessionId,
86
+ fd: args.fd,
87
+ message: args.message,
88
+ });
89
+ return jsonResult({ success: true });
90
+ }
91
+ catch (error) {
92
+ return grpcErrorToToolResult(error);
93
+ }
94
+ },
95
+ },
96
+ {
97
+ name: "ipc_close",
98
+ group: "ipc",
99
+ description: "Close a file descriptor, dropping the connection to the child session. If this is the last fd to the child, the child is hibernated. Fails if there are undelivered messages — process them first.",
100
+ inputSchema: z.object({
101
+ fd: z.number().int().describe("File descriptor to close"),
102
+ }),
103
+ rpcMethod: "closeFd",
104
+ mutating: true,
105
+ async handler(args, client, authContext) {
106
+ try {
107
+ const sessionId = authContext?.type === "scoped" ? authContext.taskSessionId : "";
108
+ if (!sessionId) {
109
+ return {
110
+ content: [{ type: "text", text: "Error: ipc_close requires scoped auth (agent context)" }],
111
+ isError: true,
112
+ };
113
+ }
114
+ const result = await client.closeFd({
115
+ sessionId,
116
+ fd: args.fd,
117
+ });
118
+ return jsonResult({ success: true, hibernated: result.hibernated });
119
+ }
120
+ catch (error) {
121
+ return grpcErrorToToolResult(error);
122
+ }
123
+ },
124
+ },
65
125
  ];
66
126
  //# sourceMappingURL=ipc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/tools/ipc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/tools/ipc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/mcp",
3
- "version": "0.57.0",
3
+ "version": "0.58.0",
4
4
  "description": "MCP (Model Context Protocol) server for Grackle — translates MCP tool calls to ConnectRPC",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  "@modelcontextprotocol/sdk": "^1.27.0",
34
34
  "pino": "^10.3.1",
35
35
  "zod": "^4.0.0",
36
- "@grackle-ai/common": "0.57.0"
36
+ "@grackle-ai/common": "0.58.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@rushstack/heft": "1.2.4",