@grackle-ai/mcp 0.75.13 → 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 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,CAO3C,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"}
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"}
@@ -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"]);
@@ -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;CACzC,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"}
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"}
@@ -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,EA4QpC,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: false,
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,
@@ -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;AAenD,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,YAAY,CAgBjD"}
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"}
@@ -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
@@ -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;AAEhD,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,OAAO,QAAQ,CAAC;AAClB,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,4 @@
1
+ import type { ToolDefinition } from "../tool-registry.js";
2
+ /** MCP tools for reading and writing task workpads. */
3
+ export declare const workpadTools: ToolDefinition[];
4
+ //# sourceMappingURL=workpad.d.ts.map
@@ -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.75.13",
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/auth": "0.75.13",
41
- "@grackle-ai/common": "0.75.13"
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",