@pipeshub-ai/mcp 2.0.1 → 2.1.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/bin/mcp-server.js +685 -76
- package/bin/mcp-server.js.map +20 -13
- package/esm/funcs/agentsListAgents.d.ts +10 -0
- package/esm/funcs/agentsListAgents.d.ts.map +1 -0
- package/esm/funcs/agentsListAgents.js +83 -0
- package/esm/funcs/agentsListAgents.js.map +1 -0
- package/esm/funcs/agentsStreamConversation.d.ts +10 -0
- package/esm/funcs/agentsStreamConversation.d.ts.map +1 -0
- package/esm/funcs/agentsStreamConversation.js +83 -0
- package/esm/funcs/agentsStreamConversation.js.map +1 -0
- package/esm/funcs/agentsStreamMessage.d.ts +10 -0
- package/esm/funcs/agentsStreamMessage.d.ts.map +1 -0
- package/esm/funcs/agentsStreamMessage.js +86 -0
- package/esm/funcs/agentsStreamMessage.js.map +1 -0
- package/esm/funcs/conversationsStreamConversation.d.ts.map +1 -1
- package/esm/funcs/conversationsStreamConversation.js +1 -3
- package/esm/funcs/conversationsStreamConversation.js.map +1 -1
- package/esm/funcs/conversationsStreamMessage.d.ts.map +1 -1
- package/esm/funcs/conversationsStreamMessage.js +0 -7
- package/esm/funcs/conversationsStreamMessage.js.map +1 -1
- package/esm/mcp-server/instructions.d.ts +2 -0
- package/esm/mcp-server/instructions.d.ts.map +1 -0
- package/esm/mcp-server/instructions.js +83 -0
- package/esm/mcp-server/instructions.js.map +1 -0
- package/esm/mcp-server/prompts/pipeshubAssistant.d.ts +8 -0
- package/esm/mcp-server/prompts/pipeshubAssistant.d.ts.map +1 -0
- package/esm/mcp-server/prompts/pipeshubAssistant.js +31 -0
- package/esm/mcp-server/prompts/pipeshubAssistant.js.map +1 -0
- package/esm/mcp-server/server.d.ts.map +1 -1
- package/esm/mcp-server/server.js +7 -60
- package/esm/mcp-server/server.js.map +1 -1
- package/esm/mcp-server/tools/_helpers.d.ts +78 -0
- package/esm/mcp-server/tools/_helpers.d.ts.map +1 -1
- package/esm/mcp-server/tools/_helpers.js +155 -1
- package/esm/mcp-server/tools/_helpers.js.map +1 -1
- package/esm/mcp-server/tools/pipeshubAgents.d.ts +8 -0
- package/esm/mcp-server/tools/pipeshubAgents.d.ts.map +1 -0
- package/esm/mcp-server/tools/pipeshubAgents.js +62 -0
- package/esm/mcp-server/tools/pipeshubAgents.js.map +1 -0
- package/esm/mcp-server/tools/pipeshubChat.d.ts +6 -1
- package/esm/mcp-server/tools/pipeshubChat.d.ts.map +1 -1
- package/esm/mcp-server/tools/pipeshubChat.js +71 -21
- package/esm/mcp-server/tools/pipeshubChat.js.map +1 -1
- package/esm/mcp-server/tools/pipeshubDirectory.d.ts.map +1 -1
- package/esm/mcp-server/tools/pipeshubDirectory.js +0 -1
- package/esm/mcp-server/tools/pipeshubDirectory.js.map +1 -1
- package/esm/mcp-server/tools/pipeshubDownloadRecord.d.ts.map +1 -1
- package/esm/mcp-server/tools/pipeshubDownloadRecord.js +0 -3
- package/esm/mcp-server/tools/pipeshubDownloadRecord.js.map +1 -1
- package/esm/mcp-server/tools/pipeshubSearch.d.ts.map +1 -1
- package/esm/mcp-server/tools/pipeshubSearch.js +0 -3
- package/esm/mcp-server/tools/pipeshubSearch.js.map +1 -1
- package/esm/mcp-server/tools/pipeshubSources.d.ts.map +1 -1
- package/esm/mcp-server/tools/pipeshubSources.js +0 -4
- package/esm/mcp-server/tools/pipeshubSources.js.map +1 -1
- package/esm/models/agentops.d.ts +119 -0
- package/esm/models/agentops.d.ts.map +1 -0
- package/esm/models/agentops.js +97 -0
- package/esm/models/agentops.js.map +1 -0
- package/esm/tool-names.d.ts.map +1 -1
- package/esm/tool-names.js +4 -0
- package/esm/tool-names.js.map +1 -1
- package/package.json +2 -2
- package/src/funcs/agentsListAgents.ts +141 -0
- package/src/funcs/agentsStreamConversation.ts +144 -0
- package/src/funcs/agentsStreamMessage.ts +147 -0
- package/src/funcs/conversationsStreamConversation.ts +1 -3
- package/src/funcs/conversationsStreamMessage.ts +0 -8
- package/src/mcp-server/instructions.ts +83 -0
- package/src/mcp-server/prompts/pipeshubAssistant.ts +37 -0
- package/src/mcp-server/server.ts +8 -62
- package/src/mcp-server/tools/_helpers.ts +216 -1
- package/src/mcp-server/tools/pipeshubAgents.ts +68 -0
- package/src/mcp-server/tools/pipeshubChat.ts +70 -21
- package/src/mcp-server/tools/pipeshubDirectory.ts +0 -1
- package/src/mcp-server/tools/pipeshubDownloadRecord.ts +0 -4
- package/src/mcp-server/tools/pipeshubSearch.ts +0 -3
- package/src/mcp-server/tools/pipeshubSources.ts +0 -5
- package/src/models/agentops.ts +160 -0
- package/src/tool-names.ts +4 -0
package/esm/mcp-server/server.js
CHANGED
|
@@ -1,62 +1,5 @@
|
|
|
1
|
-
// Hand-written; replaces the Speakeasy-generated server.ts. Registers the
|
|
2
|
-
// five curated PipesHub tools instead of one tool per OpenAPI operation.
|
|
3
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
|
-
|
|
5
|
-
// These set defaults so the model picks `pipeshub_chat` as the natural
|
|
6
|
-
// entry point for anything that touches the user's PipesHub data —
|
|
7
|
-
// documents, files, knowledge base content, citations, etc.
|
|
8
|
-
const PIPESHUB_INSTRUCTIONS = `# PipesHub MCP — instructions for the LLM
|
|
9
|
-
|
|
10
|
-
PipesHub is the user's workplace AI platform. It indexes their documents,
|
|
11
|
-
knowledge base content, and connector sources (Drive, Box, Confluence,
|
|
12
|
-
Slack, Jira, Gmail, ...). When in doubt, the answer is in PipesHub.
|
|
13
|
-
|
|
14
|
-
## Default tool: \`pipeshub_chat\`
|
|
15
|
-
|
|
16
|
-
**Use \`pipeshub_chat\` for any question that could plausibly be answered
|
|
17
|
-
by the user's PipesHub-indexed data.** That includes:
|
|
18
|
-
|
|
19
|
-
- Anything about a specific document, file, report, ticket, message, or
|
|
20
|
-
page (e.g. "what's in the Q4 sales report?", "summarize the langchain
|
|
21
|
-
doc", "what did Aashil say about onboarding?").
|
|
22
|
-
- Anything about company / org policies, processes, decisions, or
|
|
23
|
-
history (e.g. "what's our vacation policy?", "who owns the auth
|
|
24
|
-
service?").
|
|
25
|
-
- Anything explicitly mentioning PipesHub itself, or its sources
|
|
26
|
-
(Drive / Box / Confluence / Slack / Gmail / Jira / etc.) when the
|
|
27
|
-
user has those connected.
|
|
28
|
-
- Open-ended "what do we know about X" questions where the answer
|
|
29
|
-
likely lives in the org's documents.
|
|
30
|
-
|
|
31
|
-
Do NOT answer those from your own knowledge — \`pipeshub_chat\` grounds
|
|
32
|
-
the answer in the user's actual indexed content and returns citations
|
|
33
|
-
the user can verify.
|
|
34
|
-
|
|
35
|
-
## When to use the other tools
|
|
36
|
-
|
|
37
|
-
- \`pipeshub_search\` — only when the user asks specifically to **find /
|
|
38
|
-
locate** a document by name or topic (so you can hand them a list, or
|
|
39
|
-
resolve a filename to a \`recordId\` for download). For "what does
|
|
40
|
-
the doc say?" use \`pipeshub_chat\` instead — it does the retrieval
|
|
41
|
-
internally.
|
|
42
|
-
- \`pipeshub_download_record\` — when the user wants the actual file
|
|
43
|
-
bytes (download, attach, open). Get the \`recordId\` either from
|
|
44
|
-
citations on a prior \`pipeshub_chat\` response or from
|
|
45
|
-
\`pipeshub_search\`.
|
|
46
|
-
- \`pipeshub_directory\` — people, groups, teams, and \`whoami\` lookups.
|
|
47
|
-
Not for documents.
|
|
48
|
-
- \`pipeshub_sources\` — call once at the start of a session to discover
|
|
49
|
-
which connectors / KB / models are available, then cache the result.
|
|
50
|
-
|
|
51
|
-
## Conversation lifecycle
|
|
52
|
-
|
|
53
|
-
\`pipeshub_chat\` is a single tool that handles both starting and
|
|
54
|
-
continuing conversations. On the first turn omit \`conversationId\`; on
|
|
55
|
-
every subsequent turn pass back the \`conversationId\` returned by the
|
|
56
|
-
previous call. Server-side context is preserved — do NOT replay prior
|
|
57
|
-
messages. Only start a fresh conversation when the user explicitly
|
|
58
|
-
asks to clear context.
|
|
59
|
-
`;
|
|
2
|
+
import { PIPESHUB_INSTRUCTIONS } from "./instructions.js";
|
|
60
3
|
import { PipeshubCore } from "../core.js";
|
|
61
4
|
import { createRegisterPrompt } from "./prompts.js";
|
|
62
5
|
import { createRegisterResource, createRegisterResourceTemplate, } from "./resources.js";
|
|
@@ -66,6 +9,8 @@ import { tool$pipeshubSearch } from "./tools/pipeshubSearch.js";
|
|
|
66
9
|
import { tool$pipeshubDownloadRecord } from "./tools/pipeshubDownloadRecord.js";
|
|
67
10
|
import { tool$pipeshubDirectory } from "./tools/pipeshubDirectory.js";
|
|
68
11
|
import { tool$pipeshubSources } from "./tools/pipeshubSources.js";
|
|
12
|
+
import { tool$pipeshubAgents } from "./tools/pipeshubAgents.js";
|
|
13
|
+
import { prompt$pipeshubAssistant } from "./prompts/pipeshubAssistant.js";
|
|
69
14
|
export function createMCPServer(deps) {
|
|
70
15
|
const server = new McpServer({
|
|
71
16
|
name: "pipeshub-mcp",
|
|
@@ -94,13 +39,15 @@ export function createMCPServer(deps) {
|
|
|
94
39
|
const prompt = createRegisterPrompt(deps.logger, server, getClient, scopes);
|
|
95
40
|
const register = { tool, resource, resourceTemplate, prompt };
|
|
96
41
|
void register; // suppress unused warnings
|
|
97
|
-
// Curated tool set.
|
|
98
|
-
// Order = preferred discovery order shown to the LLM.
|
|
42
|
+
// Curated tool set. Order = preferred discovery order shown to the LLM.
|
|
99
43
|
tool(tool$pipeshubSources); // 1. discover sources + models
|
|
100
44
|
tool(tool$pipeshubChat); // 2. ask questions (start + continue)
|
|
101
45
|
tool(tool$pipeshubSearch); // 3. resolve filename → recordId
|
|
102
46
|
tool(tool$pipeshubDownloadRecord); // 4. fetch a document by id
|
|
103
47
|
tool(tool$pipeshubDirectory); // 5. people / groups / teams / whoami
|
|
48
|
+
tool(tool$pipeshubAgents); // 6. discover org agents
|
|
49
|
+
// Curated prompt: user-invokable tool-routing guidance.
|
|
50
|
+
prompt(prompt$pipeshubAssistant);
|
|
104
51
|
if (deps.dynamic) {
|
|
105
52
|
registerDynamicTools(deps.logger, server, getClient, toolMap, scopes);
|
|
106
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
1
2
|
import { Security } from "../../models/security.js";
|
|
2
3
|
import { PipeshubCore } from "../../core.js";
|
|
3
4
|
import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
import { AgentSummary } from "../../models/agentops.js";
|
|
4
6
|
/**
|
|
5
7
|
* Parse a fetch Response as JSON, returning a CallToolResult error when the
|
|
6
8
|
* body is missing / malformed.
|
|
@@ -16,6 +18,30 @@ export declare function readJson<T = unknown>(response: Response): Promise<{
|
|
|
16
18
|
export declare function jsonResult(value: unknown): CallToolResult;
|
|
17
19
|
/** Standard error → CallToolResult conversion. */
|
|
18
20
|
export declare function errorResult(message: string): CallToolResult;
|
|
21
|
+
/**
|
|
22
|
+
* Guard a (possibly streaming) `Response` on its HTTP status. The streaming
|
|
23
|
+
* SDK funcs configure `errorCodes: []`, so the request layer treats ANY HTTP
|
|
24
|
+
* response — including 401 / 403 / 404 / 5xx — as a success and hands back the
|
|
25
|
+
* raw `Response`. Without this check those failures slip into the SSE drain
|
|
26
|
+
* and surface as the useless "stream ended without usable frames".
|
|
27
|
+
*
|
|
28
|
+
* Returns a `CallToolResult` error (status + best-effort message from the body)
|
|
29
|
+
* when the response is not ok, or `null` when it is ok (body left untouched so
|
|
30
|
+
* the caller can still stream it).
|
|
31
|
+
*/
|
|
32
|
+
export declare function httpErrorResult(response: Response, context: string): Promise<CallToolResult | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Read a `Response` body as JSON and validate it against a zod `schema`,
|
|
35
|
+
* returning the typed value or a `CallToolResult` error (empty body, invalid
|
|
36
|
+
* JSON, or a shape that doesn't match the schema).
|
|
37
|
+
*/
|
|
38
|
+
export declare function readValidated<T>(response: Response, schema: z.ZodType<T>): Promise<{
|
|
39
|
+
ok: true;
|
|
40
|
+
value: T;
|
|
41
|
+
} | {
|
|
42
|
+
ok: false;
|
|
43
|
+
result: CallToolResult;
|
|
44
|
+
}>;
|
|
19
45
|
/** Resolve `client._options.security` (which may be a function) to a value. */
|
|
20
46
|
export declare function resolveSecurity(client: PipeshubCore): Promise<Security | undefined>;
|
|
21
47
|
/**
|
|
@@ -85,6 +111,57 @@ export type SSEFrame = {
|
|
|
85
111
|
* generator does not need to recheck it.
|
|
86
112
|
*/
|
|
87
113
|
export declare function iterateSSE(response: Response): AsyncGenerator<SSEFrame, void, unknown>;
|
|
114
|
+
interface AgentToolsetView {
|
|
115
|
+
/** Integration / connector key, e.g. `jira`, `gmail`. */
|
|
116
|
+
name: string | null | undefined;
|
|
117
|
+
/** Fully-qualified tool ids the agent can run, e.g. `jira.create_issue`. */
|
|
118
|
+
tools: string[];
|
|
119
|
+
}
|
|
120
|
+
interface AgentKnowledgeView {
|
|
121
|
+
name: string | null | undefined;
|
|
122
|
+
type: string | null | undefined;
|
|
123
|
+
}
|
|
124
|
+
export interface EnrichedAgent {
|
|
125
|
+
agentId: string;
|
|
126
|
+
name: string;
|
|
127
|
+
description: string | null;
|
|
128
|
+
systemPrompt: string | null;
|
|
129
|
+
startMessage: string | null;
|
|
130
|
+
tags: string[];
|
|
131
|
+
webSearch: boolean;
|
|
132
|
+
isActive: boolean | null | undefined;
|
|
133
|
+
toolsets: AgentToolsetView[];
|
|
134
|
+
knowledge: AgentKnowledgeView[];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Trim an enriched `AgentSummary` (from `GET /agents`) to just what the LLM
|
|
138
|
+
* needs to pick and converse with an agent. Strips ids/revs/timestamps/perms
|
|
139
|
+
* and the heavy nested tool/knowledge metadata, keeping the routing-critical
|
|
140
|
+
* signal: each toolset's connector `name` + its tool ids (e.g.
|
|
141
|
+
* `jira.create_issue`), and each knowledge source's `name`/`type`.
|
|
142
|
+
*/
|
|
143
|
+
export declare function trimAgent(a: AgentSummary): EnrichedAgent;
|
|
144
|
+
/**
|
|
145
|
+
* Fetch the COMPLETE agent list, auto-paginating `GET /agents` so callers
|
|
146
|
+
* (discovery + routing) never have to manage page numbers. Pages are fetched
|
|
147
|
+
* at the max page size until the backend reports no more (`hasNext` /
|
|
148
|
+
* `hasNextPage`, with a short-page fallback), capped by `maxPages` as a
|
|
149
|
+
* runaway guard. Returns the raw `AgentListItem`s plus a normalized `total`
|
|
150
|
+
* and a `truncated` flag (true if the cap was hit before exhausting pages).
|
|
151
|
+
*/
|
|
152
|
+
export declare function listAllAgents(client: PipeshubCore, opts?: {
|
|
153
|
+
search?: string | undefined;
|
|
154
|
+
signal?: AbortSignal | undefined;
|
|
155
|
+
maxPages?: number | undefined;
|
|
156
|
+
}): Promise<{
|
|
157
|
+
ok: true;
|
|
158
|
+
agents: AgentSummary[];
|
|
159
|
+
total: number;
|
|
160
|
+
truncated: boolean;
|
|
161
|
+
} | {
|
|
162
|
+
ok: false;
|
|
163
|
+
result: CallToolResult;
|
|
164
|
+
}>;
|
|
88
165
|
/** Trim a single search hit to what the LLM actually needs. */
|
|
89
166
|
export declare function trimSearchHit(hit: any): {
|
|
90
167
|
recordId: any;
|
|
@@ -97,4 +174,5 @@ export declare function trimSearchHit(hit: any): {
|
|
|
97
174
|
webUrl: any;
|
|
98
175
|
pageNum: any;
|
|
99
176
|
};
|
|
177
|
+
export {};
|
|
100
178
|
//# sourceMappingURL=_helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_helpers.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/_helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_helpers.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
// Curated-tool helpers. Hand-written, NOT regenerated by Speakeasy.
|
|
2
1
|
//
|
|
3
2
|
// Each curated tool fetches a Response from one of the SDK funcs and then
|
|
4
3
|
// trims / restructures the body before handing it to the LLM. The helpers
|
|
5
4
|
// here keep that work out of the individual tool files.
|
|
5
|
+
import * as z from "zod";
|
|
6
|
+
import { agentsListAgents } from "../../funcs/agentsListAgents.js";
|
|
7
|
+
import { AgentListEnvelope$zodSchema, } from "../../models/agentops.js";
|
|
6
8
|
/**
|
|
7
9
|
* Parse a fetch Response as JSON, returning a CallToolResult error when the
|
|
8
10
|
* body is missing / malformed.
|
|
@@ -47,6 +49,80 @@ export function errorResult(message) {
|
|
|
47
49
|
isError: true,
|
|
48
50
|
};
|
|
49
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Guard a (possibly streaming) `Response` on its HTTP status. The streaming
|
|
54
|
+
* SDK funcs configure `errorCodes: []`, so the request layer treats ANY HTTP
|
|
55
|
+
* response — including 401 / 403 / 404 / 5xx — as a success and hands back the
|
|
56
|
+
* raw `Response`. Without this check those failures slip into the SSE drain
|
|
57
|
+
* and surface as the useless "stream ended without usable frames".
|
|
58
|
+
*
|
|
59
|
+
* Returns a `CallToolResult` error (status + best-effort message from the body)
|
|
60
|
+
* when the response is not ok, or `null` when it is ok (body left untouched so
|
|
61
|
+
* the caller can still stream it).
|
|
62
|
+
*/
|
|
63
|
+
export async function httpErrorResult(response, context) {
|
|
64
|
+
if (response.ok)
|
|
65
|
+
return null;
|
|
66
|
+
let body = "";
|
|
67
|
+
try {
|
|
68
|
+
body = await response.text();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// body unreadable (e.g. already-consumed or transport error)
|
|
72
|
+
}
|
|
73
|
+
let message = body;
|
|
74
|
+
if (body) {
|
|
75
|
+
try {
|
|
76
|
+
const parsed = JSON.parse(body);
|
|
77
|
+
// Only accept string fields — error envelopes often nest an object
|
|
78
|
+
// under `error`, which must not stringify to "[object Object]".
|
|
79
|
+
const candidate = (typeof parsed?.message === "string" && parsed.message)
|
|
80
|
+
|| (typeof parsed?.error === "string" && parsed.error)
|
|
81
|
+
|| (typeof parsed?.error?.message === "string" && parsed.error.message)
|
|
82
|
+
|| (typeof parsed?.detail === "string" && parsed.detail)
|
|
83
|
+
|| "";
|
|
84
|
+
message = candidate || body; // fall back to the raw JSON text
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// not JSON — keep the raw text
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const detail = message ? ` ${message.slice(0, 400)}` : "";
|
|
91
|
+
const auth = (response.status === 401 || response.status === 403)
|
|
92
|
+
? " Check that the bearer token / credentials are valid and not expired."
|
|
93
|
+
: "";
|
|
94
|
+
return errorResult(`${context} failed (HTTP ${response.status} ${response.statusText}).${detail}${auth}`);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Read a `Response` body as JSON and validate it against a zod `schema`,
|
|
98
|
+
* returning the typed value or a `CallToolResult` error (empty body, invalid
|
|
99
|
+
* JSON, or a shape that doesn't match the schema).
|
|
100
|
+
*/
|
|
101
|
+
export async function readValidated(response, schema) {
|
|
102
|
+
const text = await response.text();
|
|
103
|
+
if (!text) {
|
|
104
|
+
return { ok: false, result: errorResult("Empty response from server") };
|
|
105
|
+
}
|
|
106
|
+
let json;
|
|
107
|
+
try {
|
|
108
|
+
json = JSON.parse(text);
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
return {
|
|
112
|
+
ok: false,
|
|
113
|
+
result: errorResult(`Failed to parse response as JSON: ${e.message}`
|
|
114
|
+
+ `\n\nRaw body:\n${text.slice(0, 500)}`),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
const parsed = schema.safeParse(json);
|
|
118
|
+
if (!parsed.success) {
|
|
119
|
+
return {
|
|
120
|
+
ok: false,
|
|
121
|
+
result: errorResult(`Unexpected response shape:\n${z.prettifyError(parsed.error)}`),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
return { ok: true, value: parsed.data };
|
|
125
|
+
}
|
|
50
126
|
/** Resolve `client._options.security` (which may be a function) to a value. */
|
|
51
127
|
export async function resolveSecurity(client) {
|
|
52
128
|
const sec = client._options.security;
|
|
@@ -224,6 +300,84 @@ export async function* iterateSSE(response) {
|
|
|
224
300
|
}
|
|
225
301
|
}
|
|
226
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Trim an enriched `AgentSummary` (from `GET /agents`) to just what the LLM
|
|
305
|
+
* needs to pick and converse with an agent. Strips ids/revs/timestamps/perms
|
|
306
|
+
* and the heavy nested tool/knowledge metadata, keeping the routing-critical
|
|
307
|
+
* signal: each toolset's connector `name` + its tool ids (e.g.
|
|
308
|
+
* `jira.create_issue`), and each knowledge source's `name`/`type`.
|
|
309
|
+
*/
|
|
310
|
+
export function trimAgent(a) {
|
|
311
|
+
return {
|
|
312
|
+
agentId: a._key,
|
|
313
|
+
name: a.name,
|
|
314
|
+
description: a.description ?? null,
|
|
315
|
+
systemPrompt: a.systemPrompt ?? null,
|
|
316
|
+
startMessage: a.startMessage ?? null,
|
|
317
|
+
tags: a.tags,
|
|
318
|
+
webSearch: !!a.webSearch,
|
|
319
|
+
isActive: a.isActive,
|
|
320
|
+
toolsets: a.toolsets.map((ts) => ({
|
|
321
|
+
name: ts.name,
|
|
322
|
+
tools: ts.tools
|
|
323
|
+
.map((t) => t.fullName ?? t.name)
|
|
324
|
+
.filter((id) => typeof id === "string"),
|
|
325
|
+
})),
|
|
326
|
+
knowledge: a.knowledge.map((k) => ({
|
|
327
|
+
name: k.name ?? k.displayName,
|
|
328
|
+
type: k.type,
|
|
329
|
+
})),
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Fetch the COMPLETE agent list, auto-paginating `GET /agents` so callers
|
|
334
|
+
* (discovery + routing) never have to manage page numbers. Pages are fetched
|
|
335
|
+
* at the max page size until the backend reports no more (`hasNext` /
|
|
336
|
+
* `hasNextPage`, with a short-page fallback), capped by `maxPages` as a
|
|
337
|
+
* runaway guard. Returns the raw `AgentListItem`s plus a normalized `total`
|
|
338
|
+
* and a `truncated` flag (true if the cap was hit before exhausting pages).
|
|
339
|
+
*/
|
|
340
|
+
export async function listAllAgents(client, opts = {}) {
|
|
341
|
+
const PAGE_SIZE = 200;
|
|
342
|
+
const maxPages = opts.maxPages ?? 25;
|
|
343
|
+
// Only set `signal` when present (exactOptionalPropertyTypes).
|
|
344
|
+
const reqOptions = opts.signal
|
|
345
|
+
? { fetchOptions: { signal: opts.signal } }
|
|
346
|
+
: {};
|
|
347
|
+
const all = [];
|
|
348
|
+
let total = 0;
|
|
349
|
+
for (let page = 1; page <= maxPages; page++) {
|
|
350
|
+
const [r] = await agentsListAgents(client, {
|
|
351
|
+
page,
|
|
352
|
+
limit: PAGE_SIZE,
|
|
353
|
+
search: opts.search,
|
|
354
|
+
}, reqOptions).$inspect();
|
|
355
|
+
if (!r.ok)
|
|
356
|
+
return { ok: false, result: errorResult(r.error.message) };
|
|
357
|
+
const httpErr = await httpErrorResult(r.value, "Agent list request");
|
|
358
|
+
if (httpErr)
|
|
359
|
+
return { ok: false, result: httpErr };
|
|
360
|
+
const parsed = await readValidated(r.value, AgentListEnvelope$zodSchema);
|
|
361
|
+
if (!parsed.ok)
|
|
362
|
+
return { ok: false, result: parsed.result };
|
|
363
|
+
if (parsed.value.success === false) {
|
|
364
|
+
return {
|
|
365
|
+
ok: false,
|
|
366
|
+
result: errorResult("Agent list request returned success: false"),
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
const agents = parsed.value.agents;
|
|
370
|
+
all.push(...agents);
|
|
371
|
+
const pg = parsed.value.pagination;
|
|
372
|
+
total = pg?.totalItems ?? pg?.total ?? all.length;
|
|
373
|
+
const hasNext = pg?.hasNext ?? pg?.hasNextPage ?? (agents.length >= PAGE_SIZE);
|
|
374
|
+
if (!hasNext || agents.length === 0) {
|
|
375
|
+
return { ok: true, agents: all, total, truncated: false };
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
// Hit the page cap with more pages still available.
|
|
379
|
+
return { ok: true, agents: all, total: total || all.length, truncated: true };
|
|
380
|
+
}
|
|
227
381
|
/** Trim a single search hit to what the LLM actually needs. */
|
|
228
382
|
export function trimSearchHit(hit) {
|
|
229
383
|
const md = hit?.metadata ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/_helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { ToolDefinition } from "../tools.js";
|
|
3
|
+
declare const args: {
|
|
4
|
+
search: z.ZodOptional<z.ZodString>;
|
|
5
|
+
};
|
|
6
|
+
export declare const tool$pipeshubAgents: ToolDefinition<typeof args>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=pipeshubAgents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeshubAgents.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/pipeshubAgents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,QAAA,MAAM,IAAI;;CAKT,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,OAAO,IAAI,CAmD3D,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// (`GET /agents`) — each already carrying its `toolsets` and `knowledge` — so
|
|
2
|
+
// the LLM can route on real capability rather than the often-generic
|
|
3
|
+
// description. Pick an agent's `agentId` and pass it to `pipeshub_chat`'s
|
|
4
|
+
// `agentId` to converse with it. Single API call, no per-agent fan-out.
|
|
5
|
+
import * as z from "zod";
|
|
6
|
+
import { jsonResult, listAllAgents, trimAgent } from "./_helpers.js";
|
|
7
|
+
const args = {
|
|
8
|
+
search: z.string().optional().describe("Optional case-insensitive substring match across agent name, "
|
|
9
|
+
+ "description, and tags. Omit to return every agent."),
|
|
10
|
+
};
|
|
11
|
+
export const tool$pipeshubAgents = {
|
|
12
|
+
name: "pipeshub_agents",
|
|
13
|
+
description: `List the PipesHub **agents** configured for this org, each with its
|
|
14
|
+
capabilities.
|
|
15
|
+
|
|
16
|
+
Agents are specialized assistants (custom system prompt, tools, knowledge
|
|
17
|
+
scope). To converse with one, take its \`agentId\` and pass it to
|
|
18
|
+
\`pipeshub_chat\`'s \`agentId\` argument.
|
|
19
|
+
|
|
20
|
+
Each agent is returned as:
|
|
21
|
+
\`{ agentId, name, description, systemPrompt, startMessage, tags, webSearch,
|
|
22
|
+
isActive, toolsets, knowledge }\`.
|
|
23
|
+
- \`toolsets\` — what the agent can DO: each \`{ name, tools }\` where \`name\`
|
|
24
|
+
is the connector (e.g. \`jira\`, \`gmail\`) and \`tools\` are the runnable
|
|
25
|
+
tool ids (e.g. \`jira.create_issue\`, \`gmail.send_email\`).
|
|
26
|
+
- \`knowledge\` — what the agent can READ: each \`{ name, type }\` (e.g.
|
|
27
|
+
\`Confluence-2\` / \`Confluence\`).
|
|
28
|
+
|
|
29
|
+
**Route on \`toolsets\`/\`knowledge\`, not the name** — names and descriptions
|
|
30
|
+
are often generic or misleading. Match the request to the agent whose tools can
|
|
31
|
+
actually perform it (e.g. "create a Jira ticket" → the agent whose toolset is
|
|
32
|
+
\`jira\` and whose tools include \`jira.create_issue\`). If NO agent has a tool
|
|
33
|
+
for the requested action, say so — don't force an unrelated agent.
|
|
34
|
+
|
|
35
|
+
The list **may be empty** (no agents configured). For plain Q&A when no
|
|
36
|
+
specific agent is needed, use \`pipeshub_chat\` WITHOUT \`agentId\` and pick a
|
|
37
|
+
\`chatMode\`: \`internal_search\` (org's indexed knowledge) or \`web_search\`
|
|
38
|
+
(live web). Use \`agentId\` everywhere an agent is referenced.`,
|
|
39
|
+
scopes: ["read"],
|
|
40
|
+
annotations: {
|
|
41
|
+
title: "List PipesHub agents (with toolsets & knowledge)",
|
|
42
|
+
destructiveHint: false,
|
|
43
|
+
idempotentHint: true,
|
|
44
|
+
openWorldHint: false,
|
|
45
|
+
readOnlyHint: true,
|
|
46
|
+
},
|
|
47
|
+
args,
|
|
48
|
+
tool: async (client, args, ctx) => {
|
|
49
|
+
const all = await listAllAgents(client, {
|
|
50
|
+
search: args.search,
|
|
51
|
+
signal: ctx.signal,
|
|
52
|
+
});
|
|
53
|
+
if (!all.ok)
|
|
54
|
+
return all.result;
|
|
55
|
+
return jsonResult({
|
|
56
|
+
agents: all.agents.map(trimAgent),
|
|
57
|
+
total: all.total,
|
|
58
|
+
...(all.truncated ? { truncated: true } : {}),
|
|
59
|
+
});
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=pipeshubAgents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeshubAgents.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/pipeshubAgents.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AAExE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpC,+DAA+D;UAC3D,oDAAoD,CACzD;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT;;;;;;;;;;;;;;;;;;;;;;;;;+DAyB2D;IAC7D,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,KAAK,EAAE,kDAAkD;QACzD,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,IAAI;KACnB;IACD,IAAI;IACJ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC;QAE/B,OAAO,UAAU,CAAC;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YACjC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -10,9 +10,14 @@ declare const args: {
|
|
|
10
10
|
modelKey: z.ZodOptional<z.ZodString>;
|
|
11
11
|
modelName: z.ZodOptional<z.ZodString>;
|
|
12
12
|
modelFriendlyName: z.ZodOptional<z.ZodString>;
|
|
13
|
+
agentId: z.ZodOptional<z.ZodString>;
|
|
13
14
|
chatMode: z.ZodOptional<z.ZodEnum<{
|
|
14
|
-
|
|
15
|
+
auto: "auto";
|
|
15
16
|
internal_search: "internal_search";
|
|
17
|
+
web_search: "web_search";
|
|
18
|
+
quick: "quick";
|
|
19
|
+
verification: "verification";
|
|
20
|
+
deep: "deep";
|
|
16
21
|
}>>;
|
|
17
22
|
};
|
|
18
23
|
export declare const tool$pipeshubChat: ToolDefinition<typeof args>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeshubChat.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/pipeshubChat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipeshubChat.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/pipeshubChat.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoB7C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;CA2CT,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,OAAO,IAAI,CAgMzD,CAAC"}
|