@nyuchi/mzizi-mcp 0.5.0-beta.6 → 0.5.0-beta.7
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/dist/fundi-a2a.d.ts +97 -0
- package/dist/fundi-a2a.d.ts.map +1 -0
- package/dist/fundi-a2a.js +459 -0
- package/dist/fundi-a2a.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +21 -24
- package/dist/server.js.map +1 -1
- package/dist/tool-result.d.ts +37 -0
- package/dist/tool-result.d.ts.map +1 -0
- package/dist/tool-result.js +38 -0
- package/dist/tool-result.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mzizi-mcp as an A2A client — the fundi bridge (A2A stage 2).
|
|
3
|
+
*
|
|
4
|
+
* See docs/a2a-fundi.md §4 (the source of truth) and CLAUDE.md §19. Three MCP
|
|
5
|
+
* tools sit over fundi's `POST /a2a` JSON-RPC surface:
|
|
6
|
+
*
|
|
7
|
+
* mzizi_fundi_submit_test → message/send (returns a task id, immediately)
|
|
8
|
+
* mzizi_fundi_task_status → tasks/get (state + artifacts)
|
|
9
|
+
* mzizi_fundi_cancel_task → tasks/cancel (final state)
|
|
10
|
+
*
|
|
11
|
+
* Four things this module exists to get right:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Submit and poll; never block.** `fundi_submit_test` issues exactly one
|
|
14
|
+
* JSON-RPC call and returns whatever fundi answers with. It does NOT wait for
|
|
15
|
+
* the run, does NOT loop on `tasks/get`, and has no timeout/retry budget for
|
|
16
|
+
* a task to progress — a synchronous MCP call held open for minutes is the
|
|
17
|
+
* failure mode A2A exists here to avoid.
|
|
18
|
+
* 2. **The skill is named, never inferred.** `skill` is a required argument
|
|
19
|
+
* validated against the mirror below BEFORE any network call, so a bad id
|
|
20
|
+
* costs nothing and reads as a list of valid ids rather than as a JSON-RPC
|
|
21
|
+
* `-32602` from a remote worker.
|
|
22
|
+
* 3. **These are CORE code tools.** They dispatch to another agent, not to a
|
|
23
|
+
* `sql_function` / `edge_function` / `source_table`, so they have no
|
|
24
|
+
* `mcp_tool_registry` row and no `a2a` dispatch kind was added to make them
|
|
25
|
+
* fit. Their annotations live here for the same reason `fundi_status`'s do.
|
|
26
|
+
* 4. **The M2M secret stays in this Worker.** Callers reach fundi *through*
|
|
27
|
+
* mzizi-mcp: `FundiCaller.call()` mints the client-credentials token and
|
|
28
|
+
* forwards the signed-in user's token as `X-Fundi-User-Token`. The CLI never
|
|
29
|
+
* holds the secret (CLAUDE.md §7, §14).
|
|
30
|
+
*/
|
|
31
|
+
import type { FundiToolContext } from "./fundi-client.js";
|
|
32
|
+
/**
|
|
33
|
+
* The skills fundi declares, mirrored from `fundi/src/a2a/skills.ts` — which
|
|
34
|
+
* remains the source of truth and re-validates every submission (`-32602` for an
|
|
35
|
+
* unknown id, HTTP 403 for a missing scope).
|
|
36
|
+
*
|
|
37
|
+
* This is a mirror rather than an import because `@nyuchi/fundi-tester` is a
|
|
38
|
+
* private Worker package that mzizi-mcp does not depend on, and rather than a
|
|
39
|
+
* runtime fetch of `/.well-known/agent-card.json` because building the tool
|
|
40
|
+
* schema would then need a network round trip at server construction — turning a
|
|
41
|
+
* fundi outage into an mzizi-mcp startup failure. `scopes` is carried so a 403
|
|
42
|
+
* can name what the caller was missing (see `scopeAdvice`).
|
|
43
|
+
*
|
|
44
|
+
* Keep in sync with `fundi/src/a2a/skills.ts`; fundi refusing an id this list
|
|
45
|
+
* accepts is the drift signal.
|
|
46
|
+
*/
|
|
47
|
+
export declare const FUNDI_SKILLS: readonly [{
|
|
48
|
+
readonly id: "security-scan";
|
|
49
|
+
readonly summary: "Scan a component or worker surface for security defects; each finding becomes a fundi_issues row.";
|
|
50
|
+
readonly scopes: readonly ["fundi:security", "fundi:admin"];
|
|
51
|
+
}, {
|
|
52
|
+
readonly id: "chaos-run";
|
|
53
|
+
readonly summary: "Inject a deliberate fault and report how the surface degraded (recorded via record_chaos_event).";
|
|
54
|
+
readonly scopes: readonly ["fundi:chaos", "fundi:admin"];
|
|
55
|
+
}, {
|
|
56
|
+
readonly id: "a11y-audit";
|
|
57
|
+
readonly summary: "Audit a component's contrast, focus order and ARIA surface. Non-destructive.";
|
|
58
|
+
readonly scopes: readonly ["fundi:admin", "fundi:security", "fundi:chaos"];
|
|
59
|
+
}, {
|
|
60
|
+
readonly id: "heal-issue";
|
|
61
|
+
readonly summary: "Turn an open fundi_issues row into a draft pull request, leaving the human merge gate intact.";
|
|
62
|
+
readonly scopes: readonly ["fundi:admin"];
|
|
63
|
+
}];
|
|
64
|
+
export declare const FUNDI_SKILL_IDS: readonly string[];
|
|
65
|
+
/** The three bridge tool names, unprefixed (the server applies `mzizi_`). */
|
|
66
|
+
export declare const FUNDI_SUBMIT_TOOL = "fundi_submit_test";
|
|
67
|
+
export declare const FUNDI_STATUS_TOOL = "fundi_task_status";
|
|
68
|
+
export declare const FUNDI_CANCEL_TOOL = "fundi_cancel_task";
|
|
69
|
+
export declare function isFundiA2AToolName(name: string): boolean;
|
|
70
|
+
export interface FundiA2AToolDef {
|
|
71
|
+
/** Unprefixed tool name. */
|
|
72
|
+
name: string;
|
|
73
|
+
description: string;
|
|
74
|
+
inputSchema: Record<string, unknown>;
|
|
75
|
+
outputSchema: Record<string, unknown>;
|
|
76
|
+
/** Full behaviour hints — these tools have no registry row to read them from. */
|
|
77
|
+
annotations: {
|
|
78
|
+
readOnlyHint: boolean;
|
|
79
|
+
destructiveHint: boolean;
|
|
80
|
+
idempotentHint: boolean;
|
|
81
|
+
openWorldHint: boolean;
|
|
82
|
+
};
|
|
83
|
+
/** `_meta` category, matching the registry's `fundi` grouping. */
|
|
84
|
+
category: string;
|
|
85
|
+
}
|
|
86
|
+
export declare const FUNDI_A2A_TOOLS: readonly FundiA2AToolDef[];
|
|
87
|
+
/**
|
|
88
|
+
* Dispatch one bridge tool. `name` is the unprefixed tool name and must satisfy
|
|
89
|
+
* `isFundiA2AToolName`; the server checks that before calling in.
|
|
90
|
+
*/
|
|
91
|
+
export declare function dispatchFundiA2A(name: string, args: Record<string, unknown>, fundi: FundiToolContext): Promise<{
|
|
92
|
+
content: {
|
|
93
|
+
type: "text";
|
|
94
|
+
text: string;
|
|
95
|
+
}[];
|
|
96
|
+
}>;
|
|
97
|
+
//# sourceMappingURL=fundi-a2a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundi-a2a.d.ts","sourceRoot":"","sources":["../src/fundi-a2a.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;EAyBf,CAAC;AAEX,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAAkC,CAAC;AAKhF,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAQrD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAID,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iFAAiF;IACjF,WAAW,EAAE;QACX,YAAY,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2BD,eAAO,MAAM,eAAe,EAAE,SAAS,eAAe,EA0HrD,CAAC;AAkRF;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,gBAAgB;;;;;GAYxB"}
|
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mzizi-mcp as an A2A client — the fundi bridge (A2A stage 2).
|
|
3
|
+
*
|
|
4
|
+
* See docs/a2a-fundi.md §4 (the source of truth) and CLAUDE.md §19. Three MCP
|
|
5
|
+
* tools sit over fundi's `POST /a2a` JSON-RPC surface:
|
|
6
|
+
*
|
|
7
|
+
* mzizi_fundi_submit_test → message/send (returns a task id, immediately)
|
|
8
|
+
* mzizi_fundi_task_status → tasks/get (state + artifacts)
|
|
9
|
+
* mzizi_fundi_cancel_task → tasks/cancel (final state)
|
|
10
|
+
*
|
|
11
|
+
* Four things this module exists to get right:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Submit and poll; never block.** `fundi_submit_test` issues exactly one
|
|
14
|
+
* JSON-RPC call and returns whatever fundi answers with. It does NOT wait for
|
|
15
|
+
* the run, does NOT loop on `tasks/get`, and has no timeout/retry budget for
|
|
16
|
+
* a task to progress — a synchronous MCP call held open for minutes is the
|
|
17
|
+
* failure mode A2A exists here to avoid.
|
|
18
|
+
* 2. **The skill is named, never inferred.** `skill` is a required argument
|
|
19
|
+
* validated against the mirror below BEFORE any network call, so a bad id
|
|
20
|
+
* costs nothing and reads as a list of valid ids rather than as a JSON-RPC
|
|
21
|
+
* `-32602` from a remote worker.
|
|
22
|
+
* 3. **These are CORE code tools.** They dispatch to another agent, not to a
|
|
23
|
+
* `sql_function` / `edge_function` / `source_table`, so they have no
|
|
24
|
+
* `mcp_tool_registry` row and no `a2a` dispatch kind was added to make them
|
|
25
|
+
* fit. Their annotations live here for the same reason `fundi_status`'s do.
|
|
26
|
+
* 4. **The M2M secret stays in this Worker.** Callers reach fundi *through*
|
|
27
|
+
* mzizi-mcp: `FundiCaller.call()` mints the client-credentials token and
|
|
28
|
+
* forwards the signed-in user's token as `X-Fundi-User-Token`. The CLI never
|
|
29
|
+
* holds the secret (CLAUDE.md §7, §14).
|
|
30
|
+
*/
|
|
31
|
+
import { jsonContent, toolError } from "./tool-result.js";
|
|
32
|
+
/** fundi's A2A JSON-RPC endpoint, resolved against `FUNDI_URL`. */
|
|
33
|
+
const A2A_PATH = "/a2a";
|
|
34
|
+
/**
|
|
35
|
+
* The skills fundi declares, mirrored from `fundi/src/a2a/skills.ts` — which
|
|
36
|
+
* remains the source of truth and re-validates every submission (`-32602` for an
|
|
37
|
+
* unknown id, HTTP 403 for a missing scope).
|
|
38
|
+
*
|
|
39
|
+
* This is a mirror rather than an import because `@nyuchi/fundi-tester` is a
|
|
40
|
+
* private Worker package that mzizi-mcp does not depend on, and rather than a
|
|
41
|
+
* runtime fetch of `/.well-known/agent-card.json` because building the tool
|
|
42
|
+
* schema would then need a network round trip at server construction — turning a
|
|
43
|
+
* fundi outage into an mzizi-mcp startup failure. `scopes` is carried so a 403
|
|
44
|
+
* can name what the caller was missing (see `scopeAdvice`).
|
|
45
|
+
*
|
|
46
|
+
* Keep in sync with `fundi/src/a2a/skills.ts`; fundi refusing an id this list
|
|
47
|
+
* accepts is the drift signal.
|
|
48
|
+
*/
|
|
49
|
+
export const FUNDI_SKILLS = [
|
|
50
|
+
{
|
|
51
|
+
id: "security-scan",
|
|
52
|
+
summary: "Scan a component or worker surface for security defects; each finding becomes a fundi_issues row.",
|
|
53
|
+
scopes: ["fundi:security", "fundi:admin"],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: "chaos-run",
|
|
57
|
+
summary: "Inject a deliberate fault and report how the surface degraded (recorded via record_chaos_event).",
|
|
58
|
+
scopes: ["fundi:chaos", "fundi:admin"],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "a11y-audit",
|
|
62
|
+
summary: "Audit a component's contrast, focus order and ARIA surface. Non-destructive.",
|
|
63
|
+
scopes: ["fundi:admin", "fundi:security", "fundi:chaos"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "heal-issue",
|
|
67
|
+
summary: "Turn an open fundi_issues row into a draft pull request, leaving the human merge gate intact.",
|
|
68
|
+
scopes: ["fundi:admin"],
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
export const FUNDI_SKILL_IDS = FUNDI_SKILLS.map((s) => s.id);
|
|
72
|
+
/** A2A task states from which a task can no longer move (A2A 0.3.0). */
|
|
73
|
+
const TERMINAL_STATES = ["completed", "failed", "canceled", "rejected"];
|
|
74
|
+
/** The three bridge tool names, unprefixed (the server applies `mzizi_`). */
|
|
75
|
+
export const FUNDI_SUBMIT_TOOL = "fundi_submit_test";
|
|
76
|
+
export const FUNDI_STATUS_TOOL = "fundi_task_status";
|
|
77
|
+
export const FUNDI_CANCEL_TOOL = "fundi_cancel_task";
|
|
78
|
+
const A2A_TOOL_NAMES = new Set([
|
|
79
|
+
FUNDI_SUBMIT_TOOL,
|
|
80
|
+
FUNDI_STATUS_TOOL,
|
|
81
|
+
FUNDI_CANCEL_TOOL,
|
|
82
|
+
]);
|
|
83
|
+
export function isFundiA2AToolName(name) {
|
|
84
|
+
return A2A_TOOL_NAMES.has(name);
|
|
85
|
+
}
|
|
86
|
+
/** Fields every task-shaped result carries. */
|
|
87
|
+
const TASK_PROPERTIES = {
|
|
88
|
+
taskId: { type: "string", description: "The A2A task id." },
|
|
89
|
+
contextId: { type: ["string", "null"] },
|
|
90
|
+
state: {
|
|
91
|
+
type: "string",
|
|
92
|
+
description: "A2A lifecycle state: submitted | working | input-required | auth-required | completed | failed | canceled | rejected.",
|
|
93
|
+
},
|
|
94
|
+
terminal: {
|
|
95
|
+
type: "boolean",
|
|
96
|
+
description: "True when the task can no longer change state.",
|
|
97
|
+
},
|
|
98
|
+
timestamp: { type: ["string", "null"] },
|
|
99
|
+
skill: { type: ["string", "null"] },
|
|
100
|
+
executionStatus: {
|
|
101
|
+
type: ["string", "null"],
|
|
102
|
+
description: "fundi's own note on whether the run happened. `accepted-not-executed` means the task was recorded but the skill does not execute yet.",
|
|
103
|
+
},
|
|
104
|
+
note: { type: ["string", "null"] },
|
|
105
|
+
};
|
|
106
|
+
const TASK_REQUIRED = ["taskId", "state", "terminal"];
|
|
107
|
+
export const FUNDI_A2A_TOOLS = [
|
|
108
|
+
{
|
|
109
|
+
name: FUNDI_SUBMIT_TOOL,
|
|
110
|
+
description: "Delegate a test run to fundi — the self-healing agent — as an A2A task, and return the task id IMMEDIATELY. This never waits for the run to finish: poll mzizi_fundi_task_status with the returned taskId, and cancel with mzizi_fundi_cancel_task. `skill` must name one of fundi's declared skills; it is never inferred from the instruction text. fundi is machine-to-machine, so the call is routed through mzizi-mcp, which holds the M2M credential and forwards your signed-in identity. Each skill requires an M2M scope (security-scan → fundi:security, chaos-run → fundi:chaos, heal-issue → fundi:admin, a11y-audit → any of the three); a caller without one is refused at submit time. Note: fundi currently records a submitted task and parks it — the executors are not built yet, so `executionStatus` comes back `accepted-not-executed`.",
|
|
111
|
+
inputSchema: {
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: {
|
|
114
|
+
skill: {
|
|
115
|
+
type: "string",
|
|
116
|
+
enum: [...FUNDI_SKILL_IDS],
|
|
117
|
+
description: FUNDI_SKILLS.map((s) => `${s.id} — ${s.summary}`).join(" | "),
|
|
118
|
+
},
|
|
119
|
+
instruction: {
|
|
120
|
+
type: "string",
|
|
121
|
+
description: "What fundi should do, in plain text, e.g. 'audit the button primitive against the APCA AAA floor'.",
|
|
122
|
+
},
|
|
123
|
+
context: {
|
|
124
|
+
type: ["object", "null"],
|
|
125
|
+
description: "Optional structured context sent as an A2A data part (component name, issue id, target environment, …).",
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
required: ["skill", "instruction"],
|
|
129
|
+
},
|
|
130
|
+
outputSchema: {
|
|
131
|
+
type: "object",
|
|
132
|
+
properties: {
|
|
133
|
+
...TASK_PROPERTIES,
|
|
134
|
+
pollWith: {
|
|
135
|
+
type: "string",
|
|
136
|
+
description: "The tool to poll this task's state with.",
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
required: [...TASK_REQUIRED, "pollWith"],
|
|
140
|
+
},
|
|
141
|
+
// Submitting reaches another agent and creates state there: not read-only,
|
|
142
|
+
// not idempotent (two calls make two tasks), open-world.
|
|
143
|
+
annotations: {
|
|
144
|
+
readOnlyHint: false,
|
|
145
|
+
destructiveHint: false,
|
|
146
|
+
idempotentHint: false,
|
|
147
|
+
openWorldHint: true,
|
|
148
|
+
},
|
|
149
|
+
category: "fundi",
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: FUNDI_STATUS_TOOL,
|
|
153
|
+
description: "Poll one fundi A2A task: its lifecycle state and any artifacts it has produced. Cheap and safe to repeat. A task you did not submit reports as not found.",
|
|
154
|
+
inputSchema: {
|
|
155
|
+
type: "object",
|
|
156
|
+
properties: {
|
|
157
|
+
taskId: {
|
|
158
|
+
type: "string",
|
|
159
|
+
description: "Task id returned by mzizi_fundi_submit_test.",
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
required: ["taskId"],
|
|
163
|
+
},
|
|
164
|
+
outputSchema: {
|
|
165
|
+
type: "object",
|
|
166
|
+
properties: {
|
|
167
|
+
...TASK_PROPERTIES,
|
|
168
|
+
artifacts: {
|
|
169
|
+
type: "array",
|
|
170
|
+
description: "Artifacts the task has produced so far.",
|
|
171
|
+
items: { type: "object" },
|
|
172
|
+
},
|
|
173
|
+
historyLength: {
|
|
174
|
+
type: "integer",
|
|
175
|
+
description: "Number of messages recorded against the task.",
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
required: [...TASK_REQUIRED, "artifacts"],
|
|
179
|
+
},
|
|
180
|
+
annotations: {
|
|
181
|
+
readOnlyHint: true,
|
|
182
|
+
destructiveHint: false,
|
|
183
|
+
idempotentHint: true,
|
|
184
|
+
openWorldHint: true,
|
|
185
|
+
},
|
|
186
|
+
category: "fundi",
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: FUNDI_CANCEL_TOOL,
|
|
190
|
+
description: "Cancel a running fundi A2A task and return its final state. Cancellation is one-way — a canceled task cannot be resumed, so submit a new one instead. Cancelling an already-terminal task is refused rather than silently accepted.",
|
|
191
|
+
inputSchema: {
|
|
192
|
+
type: "object",
|
|
193
|
+
properties: {
|
|
194
|
+
taskId: {
|
|
195
|
+
type: "string",
|
|
196
|
+
description: "Task id returned by mzizi_fundi_submit_test.",
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
required: ["taskId"],
|
|
200
|
+
},
|
|
201
|
+
outputSchema: {
|
|
202
|
+
type: "object",
|
|
203
|
+
properties: {
|
|
204
|
+
...TASK_PROPERTIES,
|
|
205
|
+
canceled: {
|
|
206
|
+
type: "boolean",
|
|
207
|
+
description: "True when the task is now in the `canceled` state.",
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
required: [...TASK_REQUIRED, "canceled"],
|
|
211
|
+
},
|
|
212
|
+
// Terminates a run irreversibly, and a second call is refused: destructive
|
|
213
|
+
// and not idempotent.
|
|
214
|
+
annotations: {
|
|
215
|
+
readOnlyHint: false,
|
|
216
|
+
destructiveHint: true,
|
|
217
|
+
idempotentHint: false,
|
|
218
|
+
openWorldHint: true,
|
|
219
|
+
},
|
|
220
|
+
category: "fundi",
|
|
221
|
+
},
|
|
222
|
+
];
|
|
223
|
+
// ── A2A transport ───────────────────────────────────────────────────────────
|
|
224
|
+
function isRecord(value) {
|
|
225
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
226
|
+
}
|
|
227
|
+
function optionalString(value) {
|
|
228
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
229
|
+
}
|
|
230
|
+
/** Names for the JSON-RPC / A2A error codes fundi can return. */
|
|
231
|
+
const RPC_CODE_NAMES = {
|
|
232
|
+
[-32700]: "ParseError",
|
|
233
|
+
[-32600]: "InvalidRequest",
|
|
234
|
+
[-32601]: "MethodNotFound",
|
|
235
|
+
[-32602]: "InvalidParams",
|
|
236
|
+
[-32603]: "InternalError",
|
|
237
|
+
[-32001]: "TaskNotFound",
|
|
238
|
+
[-32002]: "TaskNotCancelable",
|
|
239
|
+
[-32005]: "ContentTypeNotSupported",
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* The operator-facing half of an `insufficient_scope` refusal.
|
|
243
|
+
*
|
|
244
|
+
* fundi's scopes are claims on the shared M2M application's token, so a refusal
|
|
245
|
+
* here is a provisioning gap in WorkOS, not something a caller can retry around.
|
|
246
|
+
* As of this writing the M2M application carries NO permissions at all, so every
|
|
247
|
+
* submit is refused — saying that plainly is the difference between an actionable
|
|
248
|
+
* error and a mystery.
|
|
249
|
+
*/
|
|
250
|
+
function scopeAdvice(skill, required, granted) {
|
|
251
|
+
const req = required.length > 0 ? required.join(" or ") : "a fundi scope";
|
|
252
|
+
const got = granted.length > 0 ? granted.join(", ") : "none (no scopes were granted)";
|
|
253
|
+
return [
|
|
254
|
+
`fundi refused the "${skill}" skill: insufficient scope.`,
|
|
255
|
+
`Required (any of): ${req}. Granted: ${got}.`,
|
|
256
|
+
"These are scopes on the shared fundi WorkOS M2M application, not per-user tags, so this is not retryable from here —",
|
|
257
|
+
"an operator has to add the permission to that M2M application; no code change or redeploy is involved.",
|
|
258
|
+
"Until fundi:admin / fundi:security / fundi:chaos exist as permissions on it, every A2A submission is refused this way.",
|
|
259
|
+
].join(" ");
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* One A2A JSON-RPC round trip. Exactly one request — no polling loop, no
|
|
263
|
+
* retry-until-complete. Every failure mode is turned into a sentence a caller
|
|
264
|
+
* can act on, because "fundi call failed (403)" tells nobody anything.
|
|
265
|
+
*/
|
|
266
|
+
async function a2aCall(fundi, method, params) {
|
|
267
|
+
let res;
|
|
268
|
+
try {
|
|
269
|
+
res = await fundi.caller.call(A2A_PATH, fundi.userAccessToken, {
|
|
270
|
+
method: "POST",
|
|
271
|
+
headers: {
|
|
272
|
+
"Content-Type": "application/json",
|
|
273
|
+
Accept: "application/json",
|
|
274
|
+
},
|
|
275
|
+
body: JSON.stringify({ jsonrpc: "2.0", id: 1, method, params }),
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
catch (err) {
|
|
279
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
280
|
+
return {
|
|
281
|
+
ok: false,
|
|
282
|
+
message: `fundi A2A "${method}" never reached the worker: ${detail}`,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
const raw = await res.text();
|
|
286
|
+
let parsed = undefined;
|
|
287
|
+
try {
|
|
288
|
+
parsed = JSON.parse(raw);
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
// Leave `parsed` undefined — the gate answers in plain text.
|
|
292
|
+
}
|
|
293
|
+
if (res.status === 403) {
|
|
294
|
+
if (isRecord(parsed) && parsed.error === "insufficient_scope") {
|
|
295
|
+
const required = Array.isArray(parsed.required_any_of)
|
|
296
|
+
? parsed.required_any_of.filter((s) => typeof s === "string")
|
|
297
|
+
: [];
|
|
298
|
+
const granted = Array.isArray(parsed.granted)
|
|
299
|
+
? parsed.granted.filter((s) => typeof s === "string")
|
|
300
|
+
: [];
|
|
301
|
+
const skill = optionalString(parsed.skill) ?? "requested";
|
|
302
|
+
return { ok: false, message: scopeAdvice(skill, required, granted) };
|
|
303
|
+
}
|
|
304
|
+
// The other 403 fundi serves: the user token was absent, so it declined to
|
|
305
|
+
// act for nobody.
|
|
306
|
+
return {
|
|
307
|
+
ok: false,
|
|
308
|
+
message: `fundi declined the request (403): ${raw.slice(0, 300)}`,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
if (res.status === 401) {
|
|
312
|
+
return {
|
|
313
|
+
ok: false,
|
|
314
|
+
message: `fundi rejected the credentials (401): ${raw.slice(0, 300)}. The M2M token or the forwarded user token is invalid or expired.`,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
if (res.status === 404) {
|
|
318
|
+
return {
|
|
319
|
+
ok: false,
|
|
320
|
+
message: `fundi has no A2A endpoint at ${A2A_PATH} (404). FUNDI_URL points at a worker that does not serve A2A — check the deployed build.`,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
if (!res.ok) {
|
|
324
|
+
return {
|
|
325
|
+
ok: false,
|
|
326
|
+
message: `fundi A2A "${method}" failed (${res.status}): ${raw.slice(0, 300)}`,
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
if (!isRecord(parsed)) {
|
|
330
|
+
return {
|
|
331
|
+
ok: false,
|
|
332
|
+
message: `fundi returned a non-JSON A2A response: ${raw.slice(0, 300)}`,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
if (isRecord(parsed.error)) {
|
|
336
|
+
const code = typeof parsed.error.code === "number" ? parsed.error.code : null;
|
|
337
|
+
const label = code === null ? "error" : `${RPC_CODE_NAMES[code] ?? "error"} ${code}`;
|
|
338
|
+
const detail = optionalString(parsed.error.message) ?? "no message";
|
|
339
|
+
const data = parsed.error.data === undefined
|
|
340
|
+
? ""
|
|
341
|
+
: ` ${JSON.stringify(parsed.error.data)}`;
|
|
342
|
+
return {
|
|
343
|
+
ok: false,
|
|
344
|
+
message: `fundi declined "${method}" (${label}): ${detail}${data}`,
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
if (parsed.result === undefined) {
|
|
348
|
+
return {
|
|
349
|
+
ok: false,
|
|
350
|
+
message: `fundi returned neither a result nor an error for "${method}".`,
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
return { ok: true, result: parsed.result };
|
|
354
|
+
}
|
|
355
|
+
/** Flatten an A2A Task into the shape the bridge tools declare. */
|
|
356
|
+
function summariseTask(raw) {
|
|
357
|
+
const task = isRecord(raw) ? raw : {};
|
|
358
|
+
const status = isRecord(task.status) ? task.status : {};
|
|
359
|
+
const metadata = isRecord(task.metadata) ? task.metadata : {};
|
|
360
|
+
const state = optionalString(status.state) ?? "unknown";
|
|
361
|
+
return {
|
|
362
|
+
taskId: optionalString(task.id),
|
|
363
|
+
contextId: optionalString(task.contextId),
|
|
364
|
+
state,
|
|
365
|
+
terminal: TERMINAL_STATES.includes(state),
|
|
366
|
+
timestamp: optionalString(status.timestamp),
|
|
367
|
+
skill: optionalString(metadata.skillId),
|
|
368
|
+
executionStatus: optionalString(metadata.executionStatus),
|
|
369
|
+
note: optionalString(metadata.note),
|
|
370
|
+
artifacts: Array.isArray(task.artifacts) ? task.artifacts : [],
|
|
371
|
+
historyLength: Array.isArray(task.history) ? task.history.length : 0,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
// ── Dispatch ────────────────────────────────────────────────────────────────
|
|
375
|
+
/** `taskId` is required by every polling tool; validate before the network. */
|
|
376
|
+
function requireTaskId(args) {
|
|
377
|
+
const taskId = args["taskId"];
|
|
378
|
+
return typeof taskId === "string" && taskId.trim().length > 0
|
|
379
|
+
? taskId.trim()
|
|
380
|
+
: null;
|
|
381
|
+
}
|
|
382
|
+
async function submitTest(fundi, args) {
|
|
383
|
+
const skill = args["skill"];
|
|
384
|
+
// Validated here, before any network call: the skill is named explicitly and
|
|
385
|
+
// never inferred, and an unknown id should cost a caller nothing.
|
|
386
|
+
if (typeof skill !== "string" || !FUNDI_SKILL_IDS.includes(skill)) {
|
|
387
|
+
return toolError(`\`skill\` must name one of fundi's declared skills: ${FUNDI_SKILL_IDS.join(", ")}. It is never inferred from the instruction text.`);
|
|
388
|
+
}
|
|
389
|
+
const instruction = args["instruction"];
|
|
390
|
+
if (typeof instruction !== "string" || instruction.trim().length === 0) {
|
|
391
|
+
return toolError("`instruction` is required — describe what fundi should do, in plain text.");
|
|
392
|
+
}
|
|
393
|
+
const context = args["context"];
|
|
394
|
+
if (context !== undefined && context !== null && !isRecord(context)) {
|
|
395
|
+
return toolError("`context`, when given, must be a JSON object.");
|
|
396
|
+
}
|
|
397
|
+
const parts = [
|
|
398
|
+
{ kind: "text", text: instruction.trim() },
|
|
399
|
+
];
|
|
400
|
+
if (isRecord(context))
|
|
401
|
+
parts.push({ kind: "data", data: context });
|
|
402
|
+
const outcome = await a2aCall(fundi, "message/send", {
|
|
403
|
+
message: {
|
|
404
|
+
kind: "message",
|
|
405
|
+
role: "user",
|
|
406
|
+
messageId: crypto.randomUUID(),
|
|
407
|
+
parts,
|
|
408
|
+
// fundi requires the skill on the message metadata (or on params); it is a
|
|
409
|
+
// hard requirement there, not a hint.
|
|
410
|
+
metadata: { skillId: skill },
|
|
411
|
+
},
|
|
412
|
+
});
|
|
413
|
+
if (!outcome.ok)
|
|
414
|
+
return toolError(outcome.message);
|
|
415
|
+
const summary = summariseTask(outcome.result);
|
|
416
|
+
if (!summary.taskId) {
|
|
417
|
+
return toolError(`fundi accepted "${skill}" but returned no task id: ${JSON.stringify(outcome.result).slice(0, 300)}`);
|
|
418
|
+
}
|
|
419
|
+
// Deliberately returns here — the run is not awaited. Poll, do not block.
|
|
420
|
+
const { artifacts: _artifacts, historyLength: _history, ...rest } = summary;
|
|
421
|
+
return jsonContent({ ...rest, pollWith: `mzizi_${FUNDI_STATUS_TOOL}` });
|
|
422
|
+
}
|
|
423
|
+
async function taskStatus(fundi, args) {
|
|
424
|
+
const taskId = requireTaskId(args);
|
|
425
|
+
if (!taskId)
|
|
426
|
+
return toolError("`taskId` is required.");
|
|
427
|
+
const outcome = await a2aCall(fundi, "tasks/get", { id: taskId });
|
|
428
|
+
if (!outcome.ok)
|
|
429
|
+
return toolError(outcome.message);
|
|
430
|
+
return jsonContent(summariseTask(outcome.result));
|
|
431
|
+
}
|
|
432
|
+
async function cancelTask(fundi, args) {
|
|
433
|
+
const taskId = requireTaskId(args);
|
|
434
|
+
if (!taskId)
|
|
435
|
+
return toolError("`taskId` is required.");
|
|
436
|
+
const outcome = await a2aCall(fundi, "tasks/cancel", { id: taskId });
|
|
437
|
+
if (!outcome.ok)
|
|
438
|
+
return toolError(outcome.message);
|
|
439
|
+
const summary = summariseTask(outcome.result);
|
|
440
|
+
const { artifacts: _artifacts, historyLength: _history, ...rest } = summary;
|
|
441
|
+
return jsonContent({ ...rest, canceled: summary.state === "canceled" });
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Dispatch one bridge tool. `name` is the unprefixed tool name and must satisfy
|
|
445
|
+
* `isFundiA2AToolName`; the server checks that before calling in.
|
|
446
|
+
*/
|
|
447
|
+
export async function dispatchFundiA2A(name, args, fundi) {
|
|
448
|
+
switch (name) {
|
|
449
|
+
case FUNDI_SUBMIT_TOOL:
|
|
450
|
+
return submitTest(fundi, args);
|
|
451
|
+
case FUNDI_STATUS_TOOL:
|
|
452
|
+
return taskStatus(fundi, args);
|
|
453
|
+
case FUNDI_CANCEL_TOOL:
|
|
454
|
+
return cancelTask(fundi, args);
|
|
455
|
+
default:
|
|
456
|
+
return toolError(`Unknown fundi A2A tool: ${name}`);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
//# sourceMappingURL=fundi-a2a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundi-a2a.js","sourceRoot":"","sources":["../src/fundi-a2a.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
24
24
|
import type { SupabaseClient } from "@supabase/supabase-js";
|
|
25
25
|
import type { FundiToolContext } from "./fundi-client.js";
|
|
26
|
-
export declare const MZIZI_MCP_VERSION = "0.5.0-beta.
|
|
26
|
+
export declare const MZIZI_MCP_VERSION = "0.5.0-beta.7";
|
|
27
27
|
/**
|
|
28
28
|
* Build the Mzizi MCP server bound to a Supabase client with public read on
|
|
29
29
|
* `mcp_tool_registry` / `component_documents` and EXECUTE on the backing RPCs.
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAwehD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACtC,OAAO,CAAC,SAAS,CAAC,CAwTpB"}
|
package/dist/server.js
CHANGED
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
24
24
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
25
|
-
|
|
25
|
+
import { FUNDI_A2A_TOOLS, dispatchFundiA2A, isFundiA2AToolName, } from "./fundi-a2a.js";
|
|
26
|
+
import { jsonContent, toolError } from "./tool-result.js";
|
|
27
|
+
export const MZIZI_MCP_VERSION = "0.5.0-beta.7";
|
|
26
28
|
/**
|
|
27
29
|
* Every tool this server exposes is prefixed with `mzizi_` so the surface is
|
|
28
30
|
* unambiguous when mounted alongside other MCP servers (see the mcp-builder
|
|
@@ -432,29 +434,6 @@ async function fetchCollectionRows(supabase) {
|
|
|
432
434
|
return { rows, error: null };
|
|
433
435
|
}
|
|
434
436
|
}
|
|
435
|
-
function jsonContent(value, wrapKey) {
|
|
436
|
-
const text = {
|
|
437
|
-
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
438
|
-
};
|
|
439
|
-
// `structuredContent` must be a JSON object per spec. When the tool declares an
|
|
440
|
-
// `outputSchema`, its result is wrapped under the schema's single top-level key
|
|
441
|
-
// (`rows` for arrays, `result` for scalars/jsonb) so the two stay in lock-step.
|
|
442
|
-
if (wrapKey) {
|
|
443
|
-
return {
|
|
444
|
-
...text,
|
|
445
|
-
structuredContent: { [wrapKey]: value ?? null },
|
|
446
|
-
};
|
|
447
|
-
}
|
|
448
|
-
// No declared schema: attach plain objects directly, leave arrays/primitives
|
|
449
|
-
// text-only to keep their shape backward-compatible.
|
|
450
|
-
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
451
|
-
return { ...text, structuredContent: value };
|
|
452
|
-
}
|
|
453
|
-
return text;
|
|
454
|
-
}
|
|
455
|
-
function toolError(message) {
|
|
456
|
-
return { isError: true, content: [{ type: "text", text: message }] };
|
|
457
|
-
}
|
|
458
437
|
function hasProperties(schema) {
|
|
459
438
|
const props = schema && schema.properties;
|
|
460
439
|
return (!!props &&
|
|
@@ -570,6 +549,19 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
570
549
|
annotations: annotationsFor("fundi_status", { openWorldHint: true }),
|
|
571
550
|
_meta: metaFor("fundi"),
|
|
572
551
|
});
|
|
552
|
+
// The A2A bridge (docs/a2a-fundi.md §4): delegate a run to fundi as a task
|
|
553
|
+
// and poll it. Same condition as fundi_status — a tool that always appears
|
|
554
|
+
// and always fails is worse than an absent one.
|
|
555
|
+
for (const def of FUNDI_A2A_TOOLS) {
|
|
556
|
+
coreTools.push({
|
|
557
|
+
name: `${TOOL_PREFIX}${def.name}`,
|
|
558
|
+
description: def.description,
|
|
559
|
+
inputSchema: def.inputSchema,
|
|
560
|
+
outputSchema: def.outputSchema,
|
|
561
|
+
annotations: annotationsFor(def.name, def.annotations),
|
|
562
|
+
_meta: metaFor(def.category),
|
|
563
|
+
});
|
|
564
|
+
}
|
|
573
565
|
}
|
|
574
566
|
const tools = [
|
|
575
567
|
...rows.map((r) => {
|
|
@@ -640,6 +632,11 @@ export async function createMziziMcpServer(supabase, opts = {}) {
|
|
|
640
632
|
return jsonContent({ ok: true, raw: body });
|
|
641
633
|
}
|
|
642
634
|
}
|
|
635
|
+
if (isFundiA2AToolName(name)) {
|
|
636
|
+
if (!opts.fundi)
|
|
637
|
+
return toolError("fundi is not configured on this server");
|
|
638
|
+
return dispatchFundiA2A(name, args, opts.fundi);
|
|
639
|
+
}
|
|
643
640
|
const row = byName.get(name);
|
|
644
641
|
if (!row)
|
|
645
642
|
return toolError(`Unknown tool: ${name}`);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tool-result helpers, shared by the registry dispatcher (`server.ts`) and
|
|
3
|
+
* the fundi A2A bridge (`fundi-a2a.ts`).
|
|
4
|
+
*
|
|
5
|
+
* These lived in `server.ts` until the A2A bridge needed the same two shapes.
|
|
6
|
+
* A second copy is how the `structuredContent` contract drifts apart — the wrap
|
|
7
|
+
* rule below is subtle enough that two implementations would not stay equal.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Render a value as an MCP tool result.
|
|
11
|
+
*
|
|
12
|
+
* `structuredContent` must be a JSON object per spec. When the calling tool
|
|
13
|
+
* declares an `outputSchema` whose payload sits under a single top-level key
|
|
14
|
+
* (`rows` for arrays, `result` for scalars/jsonb), pass that key as `wrapKey`
|
|
15
|
+
* so the schema and the structured result stay in lock-step.
|
|
16
|
+
*/
|
|
17
|
+
export declare function jsonContent(value: unknown, wrapKey?: string | null): {
|
|
18
|
+
content: {
|
|
19
|
+
type: "text";
|
|
20
|
+
text: string;
|
|
21
|
+
}[];
|
|
22
|
+
} | {
|
|
23
|
+
structuredContent: Record<string, unknown>;
|
|
24
|
+
content: {
|
|
25
|
+
type: "text";
|
|
26
|
+
text: string;
|
|
27
|
+
}[];
|
|
28
|
+
};
|
|
29
|
+
/** An error result. MCP reports tool failures in-band, not as a transport error. */
|
|
30
|
+
export declare function toolError(message: string): {
|
|
31
|
+
isError: boolean;
|
|
32
|
+
content: {
|
|
33
|
+
type: "text";
|
|
34
|
+
text: string;
|
|
35
|
+
}[];
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=tool-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result.d.ts","sourceRoot":"","sources":["../src/tool-result.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;;uBAOV,MAAM,CACvD,MAAM,EACN,OAAO,CACR;;;;;EASN;AAED,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM;;;;;;EAExC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tool-result helpers, shared by the registry dispatcher (`server.ts`) and
|
|
3
|
+
* the fundi A2A bridge (`fundi-a2a.ts`).
|
|
4
|
+
*
|
|
5
|
+
* These lived in `server.ts` until the A2A bridge needed the same two shapes.
|
|
6
|
+
* A second copy is how the `structuredContent` contract drifts apart — the wrap
|
|
7
|
+
* rule below is subtle enough that two implementations would not stay equal.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Render a value as an MCP tool result.
|
|
11
|
+
*
|
|
12
|
+
* `structuredContent` must be a JSON object per spec. When the calling tool
|
|
13
|
+
* declares an `outputSchema` whose payload sits under a single top-level key
|
|
14
|
+
* (`rows` for arrays, `result` for scalars/jsonb), pass that key as `wrapKey`
|
|
15
|
+
* so the schema and the structured result stay in lock-step.
|
|
16
|
+
*/
|
|
17
|
+
export function jsonContent(value, wrapKey) {
|
|
18
|
+
const text = {
|
|
19
|
+
content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
|
|
20
|
+
};
|
|
21
|
+
if (wrapKey) {
|
|
22
|
+
return {
|
|
23
|
+
...text,
|
|
24
|
+
structuredContent: { [wrapKey]: value ?? null },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// No wrap key: attach plain objects directly, leave arrays/primitives
|
|
28
|
+
// text-only to keep their shape backward-compatible.
|
|
29
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
30
|
+
return { ...text, structuredContent: value };
|
|
31
|
+
}
|
|
32
|
+
return text;
|
|
33
|
+
}
|
|
34
|
+
/** An error result. MCP reports tool failures in-band, not as a transport error. */
|
|
35
|
+
export function toolError(message) {
|
|
36
|
+
return { isError: true, content: [{ type: "text", text: message }] };
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tool-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../src/tool-result.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,OAAuB;IACjE,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,GAAG,IAAI;YACP,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,EAG5C;SACF,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,qDAAqD;IACrD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,KAAgC,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC"}
|