pilotswarm 0.4.1 → 0.5.1
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/mcp/README.md +88 -4
- package/mcp/dist/src/context.d.ts +36 -6
- package/mcp/dist/src/context.d.ts.map +1 -1
- package/mcp/dist/src/context.js +102 -8
- package/mcp/dist/src/context.js.map +1 -1
- package/mcp/dist/src/resources/artifacts.d.ts +5 -0
- package/mcp/dist/src/resources/artifacts.d.ts.map +1 -0
- package/mcp/dist/src/resources/artifacts.js +39 -0
- package/mcp/dist/src/resources/artifacts.js.map +1 -0
- package/mcp/dist/src/resources/capabilities.d.ts +4 -0
- package/mcp/dist/src/resources/capabilities.d.ts.map +1 -0
- package/mcp/dist/src/resources/capabilities.js +17 -0
- package/mcp/dist/src/resources/capabilities.js.map +1 -0
- package/mcp/dist/src/resources/graph.d.ts +5 -0
- package/mcp/dist/src/resources/graph.d.ts.map +1 -0
- package/mcp/dist/src/resources/graph.js +45 -0
- package/mcp/dist/src/resources/graph.js.map +1 -0
- package/mcp/dist/src/server.d.ts.map +1 -1
- package/mcp/dist/src/server.js +61 -2
- package/mcp/dist/src/server.js.map +1 -1
- package/mcp/dist/src/tools/agents.d.ts.map +1 -1
- package/mcp/dist/src/tools/agents.js +3 -2
- package/mcp/dist/src/tools/agents.js.map +1 -1
- package/mcp/dist/src/tools/artifacts.d.ts +12 -0
- package/mcp/dist/src/tools/artifacts.d.ts.map +1 -0
- package/mcp/dist/src/tools/artifacts.js +92 -0
- package/mcp/dist/src/tools/artifacts.js.map +1 -0
- package/mcp/dist/src/tools/capabilities.d.ts +27 -0
- package/mcp/dist/src/tools/capabilities.d.ts.map +1 -0
- package/mcp/dist/src/tools/capabilities.js +69 -0
- package/mcp/dist/src/tools/capabilities.js.map +1 -0
- package/mcp/dist/src/tools/debug.d.ts +4 -0
- package/mcp/dist/src/tools/debug.d.ts.map +1 -0
- package/mcp/dist/src/tools/debug.js +94 -0
- package/mcp/dist/src/tools/debug.js.map +1 -0
- package/mcp/dist/src/tools/facts-enhanced.d.ts +13 -0
- package/mcp/dist/src/tools/facts-enhanced.d.ts.map +1 -0
- package/mcp/dist/src/tools/facts-enhanced.js +80 -0
- package/mcp/dist/src/tools/facts-enhanced.js.map +1 -0
- package/mcp/dist/src/tools/graph.d.ts +12 -0
- package/mcp/dist/src/tools/graph.d.ts.map +1 -0
- package/mcp/dist/src/tools/graph.js +237 -0
- package/mcp/dist/src/tools/graph.js.map +1 -0
- package/mcp/dist/src/tools/groups.d.ts +10 -0
- package/mcp/dist/src/tools/groups.d.ts.map +1 -0
- package/mcp/dist/src/tools/groups.js +107 -0
- package/mcp/dist/src/tools/groups.js.map +1 -0
- package/mcp/dist/src/tools/models.d.ts.map +1 -1
- package/mcp/dist/src/tools/models.js +16 -4
- package/mcp/dist/src/tools/models.js.map +1 -1
- package/mcp/dist/src/tools/observability.d.ts +13 -0
- package/mcp/dist/src/tools/observability.d.ts.map +1 -0
- package/mcp/dist/src/tools/observability.js +174 -0
- package/mcp/dist/src/tools/observability.js.map +1 -0
- package/mcp/dist/src/tools/sessions.d.ts.map +1 -1
- package/mcp/dist/src/tools/sessions.js +120 -94
- package/mcp/dist/src/tools/sessions.js.map +1 -1
- package/mcp/dist/src/tools/system.d.ts +14 -0
- package/mcp/dist/src/tools/system.d.ts.map +1 -0
- package/mcp/dist/src/tools/system.js +110 -0
- package/mcp/dist/src/tools/system.js.map +1 -0
- package/mcp/dist/src/tools/turn-control.d.ts +13 -0
- package/mcp/dist/src/tools/turn-control.d.ts.map +1 -0
- package/mcp/dist/src/tools/turn-control.js +98 -0
- package/mcp/dist/src/tools/turn-control.js.map +1 -0
- package/mcp/dist/src/util/respond.d.ts +21 -0
- package/mcp/dist/src/util/respond.d.ts.map +1 -0
- package/mcp/dist/src/util/respond.js +42 -0
- package/mcp/dist/src/util/respond.js.map +1 -0
- package/package.json +5 -4
- package/tui/bin/tui.js +0 -3
- package/tui/src/app.js +36 -5
- package/tui/src/node-sdk-transport.js +24 -0
- package/ui/core/src/commands.js +6 -0
- package/ui/core/src/controller.js +137 -2
- package/ui/core/src/reducer.js +31 -1
- package/ui/core/src/selectors.js +414 -17
- package/ui/core/src/state.js +2 -0
- package/ui/react/src/chat-status.js +22 -0
- package/ui/react/src/components.js +68 -6
- package/ui/react/src/web-app.js +69 -8
- package/web/dist/assets/{index-xJ8IzIZY.js → index-BmqU2WsR.js} +4 -4
- package/web/dist/assets/index-D2-7fi56.css +1 -0
- package/web/dist/assets/pilotswarm-cIaYAE9e.js +90 -0
- package/web/dist/assets/{react-CEPDSRB6.js → react-CRYBfNR4.js} +1 -1
- package/web/dist/index.html +4 -4
- package/web/runtime.js +30 -0
- package/web/dist/assets/index-DmGOcKR-.css +0 -1
- package/web/dist/assets/pilotswarm-D9pEmenA.js +0 -90
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { jsonResult, errorResult, withToolErrors } from "../util/respond.js";
|
|
3
|
+
/**
|
|
4
|
+
* Knowledge-graph tools (proposal G2b). Registered ONLY when `ctx.graph` is
|
|
5
|
+
* non-null — a separate injection, never derived from the fact store
|
|
6
|
+
* (enhancedfactstore 07 D2). Namespace-registry write tools are [admin].
|
|
7
|
+
*
|
|
8
|
+
* Deliberately absent: mergeGraphNodes and removeGraphEvidence — in-cluster
|
|
9
|
+
* harvester machinery, not a client surface (see WebGraphStore docstring).
|
|
10
|
+
*/
|
|
11
|
+
export function registerGraphTools(server, ctx) {
|
|
12
|
+
const graph = ctx.graph;
|
|
13
|
+
if (!graph)
|
|
14
|
+
return;
|
|
15
|
+
// ── Read ────────────────────────────────────────────────────────────
|
|
16
|
+
server.registerTool("graph_search_nodes", {
|
|
17
|
+
title: "Search Graph Nodes",
|
|
18
|
+
description: "Search knowledge-graph nodes. name_like is a lexical match on name/aliases; seeds (fact scope keys "
|
|
19
|
+
+ "or node keys) anchor an expansion query. Returns node hits with ACL-filtered evidence.",
|
|
20
|
+
inputSchema: {
|
|
21
|
+
name_like: z.string().optional().describe("Lexical match against node names/aliases (no embeddings)"),
|
|
22
|
+
kind: z.string().optional().describe("Filter by node kind (free text: person, service, file, ...)"),
|
|
23
|
+
seeds: z.array(z.string()).optional().describe("Fact scope keys or node keys anchoring the query"),
|
|
24
|
+
depth: z.number().int().min(1).max(5).optional().describe("Hops to expand from seeds"),
|
|
25
|
+
namespace: z.string().optional().describe("Namespace filter (matches subtree)"),
|
|
26
|
+
min_confidence: z.number().min(0).max(1).optional().describe("Minimum confidence"),
|
|
27
|
+
limit: z.number().int().positive().max(200).optional().describe("Max results"),
|
|
28
|
+
},
|
|
29
|
+
}, withToolErrors(async ({ name_like, kind, seeds, depth, namespace, min_confidence, limit }) => {
|
|
30
|
+
const hits = await graph.searchGraphNodes({
|
|
31
|
+
nameLike: name_like,
|
|
32
|
+
kind,
|
|
33
|
+
seeds,
|
|
34
|
+
depth,
|
|
35
|
+
namespace,
|
|
36
|
+
minConfidence: min_confidence,
|
|
37
|
+
limit,
|
|
38
|
+
});
|
|
39
|
+
return jsonResult({ count: hits.length, nodes: hits });
|
|
40
|
+
}));
|
|
41
|
+
server.registerTool("graph_search_edges", {
|
|
42
|
+
title: "Search Graph Edges",
|
|
43
|
+
description: "Search knowledge-graph edges (relations). Anchor by endpoint node keys (explore mode) and/or "
|
|
44
|
+
+ "predicate — predicate_key is the normalized exact key (preferred), predicate the exact raw text.",
|
|
45
|
+
inputSchema: {
|
|
46
|
+
from_key: z.string().optional().describe("Source node key anchor"),
|
|
47
|
+
to_key: z.string().optional().describe("Target node key anchor"),
|
|
48
|
+
predicate_key: z.string().optional().describe("Exact normalized predicate key (preferred)"),
|
|
49
|
+
predicate: z.string().optional().describe("Exact raw predicate text"),
|
|
50
|
+
namespace: z.string().optional().describe("Namespace filter (edge or either endpoint in subtree)"),
|
|
51
|
+
min_confidence: z.number().min(0).max(1).optional().describe("Minimum confidence"),
|
|
52
|
+
limit: z.number().int().positive().max(200).optional().describe("Max results"),
|
|
53
|
+
},
|
|
54
|
+
}, withToolErrors(async ({ from_key, to_key, predicate_key, predicate, namespace, min_confidence, limit }) => {
|
|
55
|
+
const hits = await graph.searchGraphEdges({
|
|
56
|
+
fromKey: from_key,
|
|
57
|
+
toKey: to_key,
|
|
58
|
+
predicateKey: predicate_key,
|
|
59
|
+
predicate,
|
|
60
|
+
namespace,
|
|
61
|
+
minConfidence: min_confidence,
|
|
62
|
+
limit,
|
|
63
|
+
});
|
|
64
|
+
return jsonResult({ count: hits.length, edges: hits });
|
|
65
|
+
}));
|
|
66
|
+
server.registerTool("graph_neighbourhood", {
|
|
67
|
+
title: "Graph Neighbourhood",
|
|
68
|
+
description: "Expand the subgraph around a node to a bounded depth — nodes plus connecting edges. "
|
|
69
|
+
+ "The go-to tool after graph_search_nodes finds an anchor.",
|
|
70
|
+
inputSchema: {
|
|
71
|
+
node_key: z.string().min(1).describe("Anchor node key"),
|
|
72
|
+
depth: z.number().int().min(1).max(5).optional().describe("Expansion depth (default 1)"),
|
|
73
|
+
namespace: z.string().optional().describe("Graph namespace"),
|
|
74
|
+
},
|
|
75
|
+
}, withToolErrors(async ({ node_key, depth, namespace }) => {
|
|
76
|
+
const sub = await graph.graphNeighbourhood(node_key, depth ?? 1, undefined, namespace ? { namespace } : undefined);
|
|
77
|
+
return jsonResult(sub);
|
|
78
|
+
}));
|
|
79
|
+
// graph_stats — optional provider method; register iff implemented.
|
|
80
|
+
if (typeof graph.graphStats === "function") {
|
|
81
|
+
server.registerTool("graph_stats", {
|
|
82
|
+
title: "Graph Stats",
|
|
83
|
+
description: "Total node/edge counts for a graph namespace (plus uncrawled-facts backlog when reported).",
|
|
84
|
+
inputSchema: {
|
|
85
|
+
namespace: z.string().optional().describe("Graph namespace (default when omitted)"),
|
|
86
|
+
},
|
|
87
|
+
}, withToolErrors(async ({ namespace }) => {
|
|
88
|
+
const stats = await graph.graphStats(namespace ? { namespace } : undefined);
|
|
89
|
+
return jsonResult(stats);
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
// ── Write ───────────────────────────────────────────────────────────
|
|
93
|
+
// Writes carry an agentId (provenance). External MCP writes default to a
|
|
94
|
+
// fixed operator identity so graph provenance distinguishes them from
|
|
95
|
+
// in-loop agent harvesting.
|
|
96
|
+
const DEFAULT_WRITER_ID = "mcp-operator";
|
|
97
|
+
server.registerTool("graph_upsert_node", {
|
|
98
|
+
title: "Upsert Graph Node",
|
|
99
|
+
description: "Create or update a knowledge-graph node (keyed by kind+name). Aliases and evidence (fact scope keys) "
|
|
100
|
+
+ "union in on upsert; re-asserting known evidence is a no-op.",
|
|
101
|
+
inputSchema: {
|
|
102
|
+
kind: z.string().min(1).describe("Node kind (free text: person, service, file, ...)"),
|
|
103
|
+
name: z.string().min(1).describe("Node name"),
|
|
104
|
+
aliases: z.array(z.string()).optional().describe("Alternative names (merged on upsert)"),
|
|
105
|
+
evidence: z.array(z.string()).optional().describe("Fact scope keys supporting this node"),
|
|
106
|
+
namespace: z.string().optional().describe("Graph namespace"),
|
|
107
|
+
agent_id: z.string().optional().describe(`Provenance writer id (default '${DEFAULT_WRITER_ID}')`),
|
|
108
|
+
},
|
|
109
|
+
}, withToolErrors(async ({ kind, name, aliases, evidence, namespace, agent_id }) => {
|
|
110
|
+
const ref = await graph.upsertGraphNode({
|
|
111
|
+
kind,
|
|
112
|
+
name,
|
|
113
|
+
aliases,
|
|
114
|
+
evidence,
|
|
115
|
+
namespace,
|
|
116
|
+
agentId: agent_id ?? DEFAULT_WRITER_ID,
|
|
117
|
+
});
|
|
118
|
+
return jsonResult({ upserted: true, node: ref });
|
|
119
|
+
}));
|
|
120
|
+
server.registerTool("graph_upsert_edge", {
|
|
121
|
+
title: "Upsert Graph Edge",
|
|
122
|
+
description: "Create or update a directed edge between two nodes (by node key). Evidence unions in; "
|
|
123
|
+
+ "reinforcement counts only novel evidence.",
|
|
124
|
+
inputSchema: {
|
|
125
|
+
from_key: z.string().min(1).describe("Source node key"),
|
|
126
|
+
to_key: z.string().min(1).describe("Target node key"),
|
|
127
|
+
predicate: z.string().min(1).describe("Relation predicate (free text, e.g. 'depends on')"),
|
|
128
|
+
confidence: z.number().min(0).max(1).optional().describe("Assertion confidence (default 1.0)"),
|
|
129
|
+
evidence: z.array(z.string()).optional().describe("Fact scope keys supporting this edge"),
|
|
130
|
+
namespace: z.string().optional().describe("Graph namespace"),
|
|
131
|
+
agent_id: z.string().optional().describe(`Provenance writer id (default '${DEFAULT_WRITER_ID}')`),
|
|
132
|
+
},
|
|
133
|
+
}, withToolErrors(async ({ from_key, to_key, predicate, confidence, evidence, namespace, agent_id }) => {
|
|
134
|
+
const ref = await graph.upsertGraphEdge({
|
|
135
|
+
fromKey: from_key,
|
|
136
|
+
toKey: to_key,
|
|
137
|
+
predicate,
|
|
138
|
+
confidence,
|
|
139
|
+
evidence,
|
|
140
|
+
namespace,
|
|
141
|
+
agentId: agent_id ?? DEFAULT_WRITER_ID,
|
|
142
|
+
});
|
|
143
|
+
return jsonResult({ upserted: true, edge: ref });
|
|
144
|
+
}));
|
|
145
|
+
server.registerTool("graph_delete_node", {
|
|
146
|
+
title: "Delete Graph Node",
|
|
147
|
+
description: "Delete a knowledge-graph node by key. No cross-store cascade (source facts untouched).",
|
|
148
|
+
inputSchema: {
|
|
149
|
+
node_key: z.string().min(1).describe("Node key to delete"),
|
|
150
|
+
namespace: z.string().optional().describe("Graph namespace"),
|
|
151
|
+
},
|
|
152
|
+
}, withToolErrors(async ({ node_key, namespace }) => {
|
|
153
|
+
const deleted = await graph.deleteGraphNode(node_key, namespace ? { namespace } : undefined);
|
|
154
|
+
return jsonResult({ deleted });
|
|
155
|
+
}));
|
|
156
|
+
server.registerTool("graph_delete_edge", {
|
|
157
|
+
title: "Delete Graph Edge",
|
|
158
|
+
description: "Delete a knowledge-graph edge identified by (from, to, predicate).",
|
|
159
|
+
inputSchema: {
|
|
160
|
+
from_key: z.string().min(1).describe("Source node key"),
|
|
161
|
+
to_key: z.string().min(1).describe("Target node key"),
|
|
162
|
+
predicate: z.string().min(1).describe("Relation predicate key"),
|
|
163
|
+
namespace: z.string().optional().describe("Graph namespace"),
|
|
164
|
+
},
|
|
165
|
+
}, withToolErrors(async ({ from_key, to_key, predicate, namespace }) => {
|
|
166
|
+
const deleted = await graph.deleteGraphEdge(from_key, to_key, predicate, namespace ? { namespace } : undefined);
|
|
167
|
+
return jsonResult({ deleted });
|
|
168
|
+
}));
|
|
169
|
+
// ── Namespace registry (optional provider surface) ──────────────────
|
|
170
|
+
if (typeof graph.listGraphNamespaces === "function") {
|
|
171
|
+
server.registerTool("list_graph_namespaces", {
|
|
172
|
+
title: "List Graph Namespaces",
|
|
173
|
+
description: "List registered graph namespaces (corpora). Compact by default.",
|
|
174
|
+
inputSchema: {
|
|
175
|
+
prefix: z.string().optional().describe("Namespace prefix filter"),
|
|
176
|
+
include_archived: z.boolean().optional().describe("Include archived namespaces (default false)"),
|
|
177
|
+
include_details: z.boolean().optional().describe("Include detail fields (default false)"),
|
|
178
|
+
},
|
|
179
|
+
}, withToolErrors(async ({ prefix, include_archived, include_details }) => {
|
|
180
|
+
const namespaces = await graph.listGraphNamespaces({
|
|
181
|
+
prefix,
|
|
182
|
+
includeArchived: include_archived,
|
|
183
|
+
includeDetails: include_details,
|
|
184
|
+
});
|
|
185
|
+
return jsonResult({ count: namespaces.length, namespaces });
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
if (typeof graph.getGraphNamespace === "function") {
|
|
189
|
+
server.registerTool("get_graph_namespace", {
|
|
190
|
+
title: "Get Graph Namespace",
|
|
191
|
+
description: "Full descriptor for one graph namespace (returned regardless of archived state).",
|
|
192
|
+
inputSchema: {
|
|
193
|
+
namespace: z.string().min(1).describe("Namespace name"),
|
|
194
|
+
},
|
|
195
|
+
}, withToolErrors(async ({ namespace }) => {
|
|
196
|
+
const info = await graph.getGraphNamespace(namespace);
|
|
197
|
+
if (!info)
|
|
198
|
+
return errorResult("namespace not found", { namespace });
|
|
199
|
+
return jsonResult(info);
|
|
200
|
+
}));
|
|
201
|
+
}
|
|
202
|
+
if (ctx.admin && typeof graph.upsertGraphNamespace === "function") {
|
|
203
|
+
server.registerTool("upsert_graph_namespace", {
|
|
204
|
+
title: "Upsert Graph Namespace",
|
|
205
|
+
description: "Register or update a graph namespace (corpus). [admin]",
|
|
206
|
+
inputSchema: {
|
|
207
|
+
namespace: z.string().min(1).describe("Namespace name"),
|
|
208
|
+
description: z.string().min(1).describe("When to use this corpus — the discovery hint reader agents see"),
|
|
209
|
+
name: z.string().optional().describe("Short label (defaults to the namespace)"),
|
|
210
|
+
source: z.string().optional().describe("Detail: where this corpus comes from"),
|
|
211
|
+
archived: z.boolean().optional().describe("Set false to un-archive on upsert"),
|
|
212
|
+
},
|
|
213
|
+
}, withToolErrors(async ({ namespace, description, name, source, archived }) => {
|
|
214
|
+
const info = await graph.upsertGraphNamespace({
|
|
215
|
+
namespace,
|
|
216
|
+
frontmatter: { description, ...(name ? { name } : {}) },
|
|
217
|
+
source,
|
|
218
|
+
archived,
|
|
219
|
+
});
|
|
220
|
+
return jsonResult({ upserted: true, namespace: info });
|
|
221
|
+
}));
|
|
222
|
+
}
|
|
223
|
+
if (ctx.admin && typeof graph.deleteGraphNamespace === "function") {
|
|
224
|
+
server.registerTool("delete_graph_namespace", {
|
|
225
|
+
title: "Delete Graph Namespace",
|
|
226
|
+
description: "DESTRUCTIVE: drop all graph data for a namespace, then its registry row. Never deletes source "
|
|
227
|
+
+ "facts. The 'default' namespace cannot be deleted. [admin]",
|
|
228
|
+
inputSchema: {
|
|
229
|
+
namespace: z.string().min(1).describe("Namespace to delete"),
|
|
230
|
+
},
|
|
231
|
+
}, withToolErrors(async ({ namespace }) => {
|
|
232
|
+
const result = await graph.deleteGraphNamespace(namespace);
|
|
233
|
+
return jsonResult(result);
|
|
234
|
+
}));
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/tools/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { ServerContext } from "../context.js";
|
|
3
|
+
/**
|
|
4
|
+
* Session-group tools (proposal G5). Groups are the fleet-batching primitive:
|
|
5
|
+
* create N sessions in a group, then cancel/complete the group as a unit.
|
|
6
|
+
* Seven write routes consolidate into one action-dispatched tool to keep
|
|
7
|
+
* tool-count growth sane.
|
|
8
|
+
*/
|
|
9
|
+
export declare function registerGroupTools(server: McpServer, ctx: ServerContext): void;
|
|
10
|
+
//# sourceMappingURL=groups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../src/tools/groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,QAmGvE"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { jsonResult, errorResult, withToolErrors } from "../util/respond.js";
|
|
3
|
+
/**
|
|
4
|
+
* Session-group tools (proposal G5). Groups are the fleet-batching primitive:
|
|
5
|
+
* create N sessions in a group, then cancel/complete the group as a unit.
|
|
6
|
+
* Seven write routes consolidate into one action-dispatched tool to keep
|
|
7
|
+
* tool-count growth sane.
|
|
8
|
+
*/
|
|
9
|
+
export function registerGroupTools(server, ctx) {
|
|
10
|
+
server.registerTool("list_session_groups", {
|
|
11
|
+
title: "List Session Groups",
|
|
12
|
+
description: "List PilotSwarm session groups. Set include_sessions to also return each group's member sessions "
|
|
13
|
+
+ "(derived from list_sessions filtered by group).",
|
|
14
|
+
inputSchema: {
|
|
15
|
+
include_sessions: z.boolean().optional().describe("Also return member sessions per group (default false)"),
|
|
16
|
+
},
|
|
17
|
+
}, withToolErrors(async ({ include_sessions }) => {
|
|
18
|
+
const groups = await ctx.mgmt.listSessionGroups();
|
|
19
|
+
if (!include_sessions) {
|
|
20
|
+
return jsonResult({ count: groups.length, groups });
|
|
21
|
+
}
|
|
22
|
+
// Group membership rides on the session views — one listSessions
|
|
23
|
+
// call covers every group (listGroupSessions is direct-mode-only).
|
|
24
|
+
const sessions = await ctx.mgmt.listSessions();
|
|
25
|
+
const byGroup = new Map();
|
|
26
|
+
for (const s of sessions) {
|
|
27
|
+
const gid = s.groupId ?? s.sessionGroupId ?? null;
|
|
28
|
+
if (!gid)
|
|
29
|
+
continue;
|
|
30
|
+
const arr = byGroup.get(gid) ?? [];
|
|
31
|
+
arr.push({ session_id: s.sessionId, title: s.title ?? null, status: s.status });
|
|
32
|
+
byGroup.set(gid, arr);
|
|
33
|
+
}
|
|
34
|
+
const enriched = groups.map((g) => ({
|
|
35
|
+
...g,
|
|
36
|
+
sessions: byGroup.get(g.groupId ?? g.id) ?? [],
|
|
37
|
+
}));
|
|
38
|
+
return jsonResult({ count: enriched.length, groups: enriched });
|
|
39
|
+
}));
|
|
40
|
+
server.registerTool("manage_session_group", {
|
|
41
|
+
title: "Manage Session Group",
|
|
42
|
+
description: "Session-group lifecycle, dispatched by action:\n"
|
|
43
|
+
+ " create — create a group (title required)\n"
|
|
44
|
+
+ " update — patch title/description (group_id required)\n"
|
|
45
|
+
+ " assign — assign session_ids to group_id\n"
|
|
46
|
+
+ " move — move session_ids to group_id (null/omitted group_id = ungroup)\n"
|
|
47
|
+
+ " cancel — cancel every session in the group\n"
|
|
48
|
+
+ " complete — complete every session in the group\n"
|
|
49
|
+
+ " delete — delete an EMPTY group (move sessions out first)",
|
|
50
|
+
inputSchema: {
|
|
51
|
+
action: z.enum(["create", "update", "assign", "move", "cancel", "complete", "delete"]).describe("The operation to perform"),
|
|
52
|
+
group_id: z.string().optional().describe("Target group (required for all actions except create; optional for move = ungroup)"),
|
|
53
|
+
title: z.string().optional().describe("Group title (create/update)"),
|
|
54
|
+
description: z.string().optional().describe("Group description (create/update)"),
|
|
55
|
+
session_ids: z.array(z.string()).optional().describe("Sessions to assign/move"),
|
|
56
|
+
reason: z.string().optional().describe("Reason (cancel/complete/delete)"),
|
|
57
|
+
},
|
|
58
|
+
}, withToolErrors(async ({ action, group_id, title, description, session_ids, reason }) => {
|
|
59
|
+
switch (action) {
|
|
60
|
+
case "create": {
|
|
61
|
+
if (!title)
|
|
62
|
+
return errorResult("create requires title");
|
|
63
|
+
const group = await ctx.mgmt.createSessionGroup({ title, description });
|
|
64
|
+
return jsonResult({ created: true, group });
|
|
65
|
+
}
|
|
66
|
+
case "update": {
|
|
67
|
+
if (!group_id)
|
|
68
|
+
return errorResult("update requires group_id");
|
|
69
|
+
const group = await ctx.mgmt.updateSessionGroup(group_id, { title, description });
|
|
70
|
+
return jsonResult({ updated: true, group });
|
|
71
|
+
}
|
|
72
|
+
case "assign": {
|
|
73
|
+
if (!group_id)
|
|
74
|
+
return errorResult("assign requires group_id");
|
|
75
|
+
if (!session_ids?.length)
|
|
76
|
+
return errorResult("assign requires session_ids");
|
|
77
|
+
await ctx.mgmt.assignSessionsToGroup(group_id, session_ids);
|
|
78
|
+
return jsonResult({ assigned: true, group_id, session_ids });
|
|
79
|
+
}
|
|
80
|
+
case "move": {
|
|
81
|
+
if (!session_ids?.length)
|
|
82
|
+
return errorResult("move requires session_ids");
|
|
83
|
+
await ctx.mgmt.moveSessionsToGroup(group_id ?? null, session_ids);
|
|
84
|
+
return jsonResult({ moved: true, group_id: group_id ?? null, session_ids });
|
|
85
|
+
}
|
|
86
|
+
case "cancel": {
|
|
87
|
+
if (!group_id)
|
|
88
|
+
return errorResult("cancel requires group_id");
|
|
89
|
+
await ctx.mgmt.cancelSessionGroup(group_id, reason);
|
|
90
|
+
return jsonResult({ cancelled: true, group_id });
|
|
91
|
+
}
|
|
92
|
+
case "complete": {
|
|
93
|
+
if (!group_id)
|
|
94
|
+
return errorResult("complete requires group_id");
|
|
95
|
+
await ctx.mgmt.completeSessionGroup(group_id, reason ? { reason } : undefined);
|
|
96
|
+
return jsonResult({ completed: true, group_id });
|
|
97
|
+
}
|
|
98
|
+
case "delete": {
|
|
99
|
+
if (!group_id)
|
|
100
|
+
return errorResult("delete requires group_id");
|
|
101
|
+
await ctx.mgmt.deleteSessionGroup(group_id, reason);
|
|
102
|
+
return jsonResult({ deleted: true, group_id });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../src/tools/groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/tools/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAOnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/tools/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAOnD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,QAqSvE"}
|
|
@@ -79,10 +79,14 @@ export function registerModelTools(server, ctx) {
|
|
|
79
79
|
// 2. switch_model — Change the model for a session
|
|
80
80
|
server.registerTool("switch_model", {
|
|
81
81
|
title: "Switch Model",
|
|
82
|
-
description: "Change the model for a PilotSwarm session",
|
|
82
|
+
description: "Change the model for a PilotSwarm session, optionally setting reasoning effort",
|
|
83
83
|
inputSchema: {
|
|
84
84
|
session_id: z.string().describe("The session to switch the model for"),
|
|
85
85
|
model: z.string().describe("The model to switch to"),
|
|
86
|
+
reasoning_effort: z
|
|
87
|
+
.string()
|
|
88
|
+
.optional()
|
|
89
|
+
.describe("Reasoning effort for the new model (e.g. low, medium, high) — web mode only"),
|
|
86
90
|
timeout_ms: z
|
|
87
91
|
.number()
|
|
88
92
|
.int()
|
|
@@ -90,19 +94,27 @@ export function registerModelTools(server, ctx) {
|
|
|
90
94
|
.optional()
|
|
91
95
|
.describe("Max time to wait for the orchestration to acknowledge the switch (default 15000)"),
|
|
92
96
|
},
|
|
93
|
-
}, async ({ session_id, model, timeout_ms }) => {
|
|
97
|
+
}, async ({ session_id, model, reasoning_effort, timeout_ms }) => {
|
|
94
98
|
try {
|
|
95
99
|
if (ctx.webMode) {
|
|
96
100
|
// Web API mode: the supported model-switch path (same one
|
|
97
101
|
// the portal UI uses). The server validates the model and
|
|
98
102
|
// enqueues the switch; rejections surface as API errors.
|
|
99
|
-
await ctx.mgmt.setSessionModel(session_id, model);
|
|
103
|
+
await ctx.mgmt.setSessionModel(session_id, model, reasoning_effort !== undefined ? { reasoningEffort: reasoning_effort } : {});
|
|
100
104
|
return {
|
|
101
105
|
content: [
|
|
102
|
-
{ type: "text", text: JSON.stringify({ switched: true, model }) },
|
|
106
|
+
{ type: "text", text: JSON.stringify({ switched: true, model, ...(reasoning_effort ? { reasoning_effort } : {}) }) },
|
|
103
107
|
],
|
|
104
108
|
};
|
|
105
109
|
}
|
|
110
|
+
if (reasoning_effort !== undefined) {
|
|
111
|
+
return {
|
|
112
|
+
content: [
|
|
113
|
+
{ type: "text", text: JSON.stringify({ switched: false, error: "reasoning_effort is only supported in Web API mode" }) },
|
|
114
|
+
],
|
|
115
|
+
isError: true,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
106
118
|
// Direct mode: wait for the orchestration's command response so
|
|
107
119
|
// we don't claim success when the orchestration rejects the
|
|
108
120
|
// command (e.g. unknown model, set_model not allowed mid-turn).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/tools/models.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/tools/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { ServerContext } from "../context.js";
|
|
3
|
+
/**
|
|
4
|
+
* Observability & forensics tools (proposal G6), consolidated by axis:
|
|
5
|
+
*
|
|
6
|
+
* get_session_metrics per-session (or spawn-tree) metrics via include[]
|
|
7
|
+
* get_fleet_overview fleet-wide aggregates via include[]
|
|
8
|
+
* list_child_outcomes what did the sub-agents conclude
|
|
9
|
+
* get_execution_history raw orchestration execution events
|
|
10
|
+
* export_execution_history export history → artifact
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerObservabilityTools(server: McpServer, ctx: ServerContext): void;
|
|
13
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../src/tools/observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,QA4L/E"}
|