@grackle-ai/mcp 0.75.12 → 0.76.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.
- package/README.md +1 -1
- package/dist/scope-enforcement.d.ts +11 -0
- package/dist/scope-enforcement.d.ts.map +1 -1
- package/dist/scope-enforcement.js +27 -0
- package/dist/scope-enforcement.js.map +1 -1
- package/dist/tool-scoping.d.ts.map +1 -1
- package/dist/tool-scoping.js +1 -0
- package/dist/tool-scoping.js.map +1 -1
- package/dist/tools/env.d.ts.map +1 -1
- package/dist/tools/env.js +4 -2
- package/dist/tools/env.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/workpad.d.ts +4 -0
- package/dist/tools/workpad.d.ts.map +1 -0
- package/dist/tools/workpad.js +112 -0
- package/dist/tools/workpad.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -106,7 +106,7 @@ Manage compute environments where agents run (Docker, SSH, Codespace, local).
|
|
|
106
106
|
|------|-------------|------------|
|
|
107
107
|
| `env_list` | List all registered environments with status, adapter type, and runtime. | *(none)* |
|
|
108
108
|
| `env_add` | Register a new environment. | `displayName` (string), `adapterType` (string), `adapterConfig?` (object) |
|
|
109
|
-
| `env_provision` | Provision an environment — start resources, install the agent, and connect. | `environmentId` (string) |
|
|
109
|
+
| `env_provision` | Provision an environment — start resources, install the agent, and connect. | `environmentId` (string), `force?` (boolean) |
|
|
110
110
|
| `env_stop` | Stop a running environment without destroying its resources. | `environmentId` (string) |
|
|
111
111
|
| `env_destroy` | Destroy an environment's backing resources (e.g., delete the container). | `environmentId` (string) |
|
|
112
112
|
| `env_remove` | Remove an environment registration. Must be stopped first. | `environmentId` (string) |
|
|
@@ -10,4 +10,15 @@ import type { AuthContext } from "@grackle-ai/auth";
|
|
|
10
10
|
* or reaches a root task (reject with PERMISSION_DENIED).
|
|
11
11
|
*/
|
|
12
12
|
export declare function assertCallerIsAncestor(client: Client<typeof grackle.Grackle>, authContext: AuthContext | undefined, targetTaskId: string): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Assert that the caller is either the target task itself OR an ancestor of it.
|
|
15
|
+
*
|
|
16
|
+
* Used by workpad tools where an agent needs to operate on its own task (self)
|
|
17
|
+
* or inspect/write a child task's workpad (ancestor).
|
|
18
|
+
*
|
|
19
|
+
* - No-op for non-scoped auth (api-key, oauth, undefined).
|
|
20
|
+
* - Allows targetTaskId === callerTaskId (self).
|
|
21
|
+
* - Otherwise walks up the parent chain like assertCallerIsAncestor.
|
|
22
|
+
*/
|
|
23
|
+
export declare function assertCallerIsSelfOrAncestor(client: Client<typeof grackle.Grackle>, authContext: AuthContext | undefined, targetTaskId: string): Promise<void>;
|
|
13
24
|
//# sourceMappingURL=scope-enforcement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-enforcement.d.ts","sourceRoot":"","sources":["../src/scope-enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,EACtC,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAkCf"}
|
|
1
|
+
{"version":3,"file":"scope-enforcement.d.ts","sourceRoot":"","sources":["../src/scope-enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,EACtC,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,EACtC,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -30,4 +30,31 @@ export async function assertCallerIsAncestor(client, authContext, targetTaskId)
|
|
|
30
30
|
}
|
|
31
31
|
throw new ConnectError("Target task is not a descendant of the caller's task", Code.PermissionDenied);
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Assert that the caller is either the target task itself OR an ancestor of it.
|
|
35
|
+
*
|
|
36
|
+
* Used by workpad tools where an agent needs to operate on its own task (self)
|
|
37
|
+
* or inspect/write a child task's workpad (ancestor).
|
|
38
|
+
*
|
|
39
|
+
* - No-op for non-scoped auth (api-key, oauth, undefined).
|
|
40
|
+
* - Allows targetTaskId === callerTaskId (self).
|
|
41
|
+
* - Otherwise walks up the parent chain like assertCallerIsAncestor.
|
|
42
|
+
*/
|
|
43
|
+
export async function assertCallerIsSelfOrAncestor(client, authContext, targetTaskId) {
|
|
44
|
+
if (authContext?.type !== "scoped") {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const callerTaskId = authContext.taskId;
|
|
48
|
+
// Self-access is allowed
|
|
49
|
+
if (targetTaskId === callerTaskId) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// Otherwise defer to the ancestor-only check to reuse the same walk/limits
|
|
53
|
+
try {
|
|
54
|
+
await assertCallerIsAncestor(client, authContext, targetTaskId);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
throw new ConnectError("Target task is not self or a descendant of the caller's task", Code.PermissionDenied);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
33
60
|
//# sourceMappingURL=scope-enforcement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope-enforcement.js","sourceRoot":"","sources":["../src/scope-enforcement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAsC,EACtC,WAAoC,EACpC,YAAoB;IAEpB,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;IAExC,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,YAAY,CACpB,iCAAiC,EACjC,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,YAAY,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAEnC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,CAAC,kCAAkC;QAC5C,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,sCAAsC;QAC/C,CAAC;QAED,SAAS,GAAG,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,YAAY,CACpB,sDAAsD,EACtD,IAAI,CAAC,gBAAgB,CACtB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"scope-enforcement.js","sourceRoot":"","sources":["../src/scope-enforcement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAsC,EACtC,WAAoC,EACpC,YAAoB;IAEpB,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;IAExC,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,YAAY,CACpB,iCAAiC,EACjC,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,YAAY,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAEnC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,CAAC,kCAAkC;QAC5C,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,sCAAsC;QAC/C,CAAC;QAED,SAAS,GAAG,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,IAAI,YAAY,CACpB,sDAAsD,EACtD,IAAI,CAAC,gBAAgB,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAsC,EACtC,WAAoC,EACpC,YAAoB;IAEpB,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;IAExC,yBAAyB;IACzB,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC;QACH,MAAM,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,YAAY,CACpB,8DAA8D,EAC9D,IAAI,CAAC,gBAAgB,CACtB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-scoping.d.ts","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,qDAAqD;AACrD,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-scoping.d.ts","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,qDAAqD;AACrD,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAQ3C,CAAC;AAiBH,gDAAgD;AAChD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,GACvB,cAAc,GAAG,SAAS,CAS5B;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc,EAAE,CAKnG"}
|
package/dist/tool-scoping.js
CHANGED
|
@@ -7,6 +7,7 @@ export const SCOPED_TOOLS = new Set([
|
|
|
7
7
|
"persona_list", "persona_show",
|
|
8
8
|
"ipc_spawn", "ipc_write", "ipc_close", "ipc_list_fds",
|
|
9
9
|
"knowledge_search", "knowledge_get_node",
|
|
10
|
+
"workpad_write", "workpad_read",
|
|
10
11
|
]);
|
|
11
12
|
/** Auth types that receive full tool access. */
|
|
12
13
|
const FULL_ACCESS_TYPES = new Set(["api-key", "oauth"]);
|
package/dist/tool-scoping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-scoping.js","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,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,EAAE,cAAc;IACrD,kBAAkB,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"tool-scoping.js","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,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,EAAE,cAAc;IACrD,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,cAAc;CAChC,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,iBAAiB,GAAqC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,oEAAoE;AACpE,SAAS,aAAa,CAAC,WAAwB;IAC7C,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+EAA+E;IAC/E,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,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,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,QAAsB,EAAE,WAAwB;IAC/E,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,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"}
|
package/dist/tools/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/tools/env.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,wGAAwG;AACxG,eAAO,MAAM,QAAQ,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/tools/env.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,wGAAwG;AACxG,eAAO,MAAM,QAAQ,EAAE,cAAc,EA8QpC,CAAC"}
|
package/dist/tools/env.js
CHANGED
|
@@ -77,21 +77,23 @@ export const envTools = [
|
|
|
77
77
|
description: "Provision an environment — start its backing resources, install the PowerLine agent, and connect it to the server.",
|
|
78
78
|
inputSchema: z.object({
|
|
79
79
|
environmentId: z.string().describe("ID of the environment to provision"),
|
|
80
|
+
force: z.boolean().optional().describe("Force full reprovision, killing active sessions"),
|
|
80
81
|
}),
|
|
81
82
|
rpcMethod: "provisionEnvironment",
|
|
82
83
|
mutating: true,
|
|
83
84
|
annotations: {
|
|
84
85
|
readOnlyHint: false,
|
|
85
|
-
destructiveHint:
|
|
86
|
+
destructiveHint: true,
|
|
86
87
|
idempotentHint: true,
|
|
87
88
|
openWorldHint: false,
|
|
88
89
|
},
|
|
89
90
|
async handler(args, client) {
|
|
90
|
-
const { environmentId } = args;
|
|
91
|
+
const { environmentId, force } = args;
|
|
91
92
|
const events = [];
|
|
92
93
|
try {
|
|
93
94
|
for await (const event of client.provisionEnvironment({
|
|
94
95
|
id: environmentId,
|
|
96
|
+
force: force ?? false,
|
|
95
97
|
})) {
|
|
96
98
|
events.push({
|
|
97
99
|
stage: event.stage,
|
package/dist/tools/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/tools/env.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/tools/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgBnD,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,YAAY,CAiBjD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -12,6 +12,7 @@ import { configTools } from "./config.js";
|
|
|
12
12
|
import { ipcTools } from "./ipc.js";
|
|
13
13
|
import { usageTools } from "./usage.js";
|
|
14
14
|
import { knowledgeTools } from "./knowledge.js";
|
|
15
|
+
import { workpadTools } from "./workpad.js";
|
|
15
16
|
/** Create a ToolRegistry pre-populated with all available MCP tools. */
|
|
16
17
|
export function createToolRegistry() {
|
|
17
18
|
const registry = new ToolRegistry();
|
|
@@ -28,6 +29,7 @@ export function createToolRegistry() {
|
|
|
28
29
|
registry.registerAll(ipcTools);
|
|
29
30
|
registry.registerAll(usageTools);
|
|
30
31
|
registry.registerAll(knowledgeTools);
|
|
32
|
+
registry.registerAll(workpadTools);
|
|
31
33
|
return registry;
|
|
32
34
|
}
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,wEAAwE;AACxE,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workpad.d.ts","sourceRoot":"","sources":["../../src/tools/workpad.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,uDAAuD;AACvD,eAAO,MAAM,YAAY,EAAE,cAAc,EAmGxC,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { jsonResult } from "../result-helpers.js";
|
|
3
|
+
import { grpcErrorToToolResult } from "../error-handler.js";
|
|
4
|
+
import { assertCallerIsSelfOrAncestor } from "../scope-enforcement.js";
|
|
5
|
+
/** Resolve the effective taskId from explicit args or scoped auth context. */
|
|
6
|
+
function resolveTaskId(args, authContext) {
|
|
7
|
+
if (args.taskId) {
|
|
8
|
+
return args.taskId;
|
|
9
|
+
}
|
|
10
|
+
if (authContext?.type === "scoped") {
|
|
11
|
+
return authContext.taskId;
|
|
12
|
+
}
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
/** MCP tools for reading and writing task workpads. */
|
|
16
|
+
export const workpadTools = [
|
|
17
|
+
{
|
|
18
|
+
name: "workpad_write",
|
|
19
|
+
group: "workpad",
|
|
20
|
+
description: "Write persistent structured context (workpad) to a task. Call before completing your work to record what was accomplished.",
|
|
21
|
+
inputSchema: z.object({
|
|
22
|
+
taskId: z.string().optional().describe("Task ID to write workpad for (defaults to current task)"),
|
|
23
|
+
status: z.string().optional().describe("Agent-reported status (e.g. 'in progress', 'completed', 'blocked')"),
|
|
24
|
+
summary: z.string().optional().describe("Human-readable summary of what has been accomplished"),
|
|
25
|
+
extra: z.record(z.string(), z.unknown()).optional().describe("Freeform structured data (branch, PR, files, blockers, etc.)"),
|
|
26
|
+
}),
|
|
27
|
+
rpcMethod: "setWorkpad",
|
|
28
|
+
mutating: true,
|
|
29
|
+
annotations: {
|
|
30
|
+
readOnlyHint: false,
|
|
31
|
+
destructiveHint: false,
|
|
32
|
+
idempotentHint: true,
|
|
33
|
+
openWorldHint: false,
|
|
34
|
+
},
|
|
35
|
+
async handler(args, client, authContext) {
|
|
36
|
+
const taskId = resolveTaskId(args, authContext);
|
|
37
|
+
if (!taskId) {
|
|
38
|
+
return {
|
|
39
|
+
content: [{ type: "text", text: "No task context. Provide taskId explicitly or run from a task session." }],
|
|
40
|
+
isError: true,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
await assertCallerIsSelfOrAncestor(client, authContext, taskId);
|
|
45
|
+
const workpadObject = {};
|
|
46
|
+
if (args.status !== undefined) {
|
|
47
|
+
workpadObject.status = args.status;
|
|
48
|
+
}
|
|
49
|
+
if (args.summary !== undefined) {
|
|
50
|
+
workpadObject.summary = args.summary;
|
|
51
|
+
}
|
|
52
|
+
if (args.extra !== undefined) {
|
|
53
|
+
workpadObject.extra = args.extra;
|
|
54
|
+
}
|
|
55
|
+
const task = await client.setWorkpad({
|
|
56
|
+
taskId,
|
|
57
|
+
workpad: JSON.stringify(workpadObject),
|
|
58
|
+
});
|
|
59
|
+
return jsonResult({ taskId: task.id, workpad: workpadObject });
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return grpcErrorToToolResult(error);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
name: "workpad_read",
|
|
68
|
+
group: "workpad",
|
|
69
|
+
description: "Read a task's workpad (persistent structured context). Defaults to the current task; can read child tasks by passing taskId.",
|
|
70
|
+
inputSchema: z.object({
|
|
71
|
+
taskId: z.string().optional().describe("Task ID to read workpad from (defaults to current task)"),
|
|
72
|
+
}),
|
|
73
|
+
rpcMethod: "getTask",
|
|
74
|
+
mutating: false,
|
|
75
|
+
annotations: {
|
|
76
|
+
readOnlyHint: true,
|
|
77
|
+
destructiveHint: false,
|
|
78
|
+
idempotentHint: true,
|
|
79
|
+
openWorldHint: false,
|
|
80
|
+
},
|
|
81
|
+
async handler(args, client, authContext) {
|
|
82
|
+
const taskId = resolveTaskId(args, authContext);
|
|
83
|
+
if (!taskId) {
|
|
84
|
+
return {
|
|
85
|
+
content: [{ type: "text", text: "No task context. Provide taskId explicitly or run from a task session." }],
|
|
86
|
+
isError: true,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
await assertCallerIsSelfOrAncestor(client, authContext, taskId);
|
|
91
|
+
const task = await client.getTask({ id: taskId });
|
|
92
|
+
let workpad = {};
|
|
93
|
+
if (task.workpad) {
|
|
94
|
+
try {
|
|
95
|
+
workpad = JSON.parse(task.workpad);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return {
|
|
99
|
+
content: [{ type: "text", text: "Task workpad contains invalid JSON and could not be parsed." }],
|
|
100
|
+
isError: true,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return jsonResult(workpad);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
return grpcErrorToToolResult(error);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
//# sourceMappingURL=workpad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workpad.js","sourceRoot":"","sources":["../../src/tools/workpad.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,8EAA8E;AAC9E,SAAS,aAAa,CAAC,IAA6B,EAAE,WAAyB;IAC7E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC,MAAgB,CAAC;IAC/B,CAAC;IACD,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,4HAA4H;QACzI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;YACjG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;YAC5G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YAC/F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;SAC7H,CAAC;QACF,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;QACD,KAAK,CAAC,OAAO,CAAC,IAA6B,EAAE,MAAsC,EAAE,WAAyB;YAC5G,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wEAAwE,EAAE,CAAC;oBACpH,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBAEhE,MAAM,aAAa,GAA4B,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrC,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvC,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC7B,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnC,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;oBACnC,MAAM;oBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;iBACvC,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;KACF;IAED;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,8HAA8H;QAC3I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;SAClG,CAAC;QACF,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;QACD,KAAK,CAAC,OAAO,CAAC,IAA6B,EAAE,MAAsC,EAAE,WAAyB;YAC5G,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wEAAwE,EAAE,CAAC;oBACpH,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBAEhE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClD,IAAI,OAAO,GAA4B,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAA4B,CAAC;oBAChE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO;4BACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6DAA6D,EAAE,CAAC;4BACzG,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;KACF;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grackle-ai/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.76.0",
|
|
4
4
|
"description": "MCP (Model Context Protocol) server for Grackle — translates MCP tool calls to ConnectRPC",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
38
38
|
"pino": "^10.3.1",
|
|
39
39
|
"zod": "^4.0.0",
|
|
40
|
-
"@grackle-ai/
|
|
41
|
-
"@grackle-ai/
|
|
40
|
+
"@grackle-ai/common": "0.76.0",
|
|
41
|
+
"@grackle-ai/auth": "0.76.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@rushstack/heft": "1.2.7",
|