@jait/gateway 0.1.102 → 0.1.104
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/providers/claude-code-provider.d.ts.map +1 -1
- package/dist/providers/claude-code-provider.js +40 -3
- package/dist/providers/claude-code-provider.js.map +1 -1
- package/dist/providers/codex-event-mapper.js +61 -4
- package/dist/providers/codex-event-mapper.js.map +1 -1
- package/dist/providers/registry.d.ts +1 -1
- package/dist/providers/registry.js +2 -2
- package/dist/providers/registry.js.map +1 -1
- package/dist/routes/git.d.ts +1 -0
- package/dist/routes/git.d.ts.map +1 -1
- package/dist/routes/git.js +57 -1
- package/dist/routes/git.js.map +1 -1
- package/dist/routes/mcp-server.d.ts +7 -13
- package/dist/routes/mcp-server.d.ts.map +1 -1
- package/dist/routes/mcp-server.js +82 -20
- package/dist/routes/mcp-server.js.map +1 -1
- package/dist/services/git.d.ts +24 -1
- package/dist/services/git.d.ts.map +1 -1
- package/dist/services/git.js +228 -35
- package/dist/services/git.js.map +1 -1
- package/package.json +3 -3
- package/web-dist/assets/{index-B6S819w2.js → index-D1FzAFol.js} +216 -216
- package/web-dist/assets/{index-Gk9MVz3J.css → index-aidQPE0a.css} +1 -1
- package/web-dist/dist/assets/{index-B6S819w2.js → index-D1FzAFol.js} +216 -216
- package/web-dist/dist/assets/{index-Gk9MVz3J.css → index-aidQPE0a.css} +1 -1
- package/web-dist/dist/index.html +2 -2
- package/web-dist/index.html +2 -2
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP
|
|
2
|
+
* MCP HTTP Server — exposes Jait's tool registry as MCP-compatible endpoints.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Protocol: Server-Sent Events (SSE) for server→client, POST for client→server.
|
|
8
|
-
* Follows the MCP transport specification for HTTP/SSE.
|
|
9
|
-
*
|
|
10
|
-
* Endpoints:
|
|
11
|
-
* GET /mcp/sse — SSE connection (tool list + event stream)
|
|
12
|
-
* POST /mcp/messages — JSON-RPC requests from the connected client
|
|
4
|
+
* Modern clients such as recent Codex builds expect Streamable HTTP at a
|
|
5
|
+
* single `/mcp` endpoint. Older clients may still use the deprecated split
|
|
6
|
+
* HTTP+SSE transport (`/mcp/sse` + `/mcp/messages`), so we keep both.
|
|
13
7
|
*/
|
|
14
8
|
import { uuidv7 } from "../db/uuidv7.js";
|
|
9
|
+
const SUPPORTED_MCP_PROTOCOL_VERSIONS = new Set([
|
|
10
|
+
"2024-11-05",
|
|
11
|
+
"2025-03-26",
|
|
12
|
+
"2025-06-18",
|
|
13
|
+
"2025-11-25",
|
|
14
|
+
]);
|
|
15
|
+
const DEFAULT_MCP_PROTOCOL_VERSION = "2025-03-26";
|
|
16
|
+
function normalizeMcpProtocolVersion(value) {
|
|
17
|
+
if (typeof value !== "string" || !value.trim())
|
|
18
|
+
return null;
|
|
19
|
+
return SUPPORTED_MCP_PROTOCOL_VERSIONS.has(value) ? value : null;
|
|
20
|
+
}
|
|
21
|
+
function resolveRequestedProtocolVersion(request, headers) {
|
|
22
|
+
const headerValue = normalizeMcpProtocolVersion(headers?.["mcp-protocol-version"]);
|
|
23
|
+
if (headerValue)
|
|
24
|
+
return headerValue;
|
|
25
|
+
return normalizeMcpProtocolVersion(request.params?.["protocolVersion"]);
|
|
26
|
+
}
|
|
27
|
+
function applyMcpProtocolVersionHeader(reply, version) {
|
|
28
|
+
reply.header("MCP-Protocol-Version", version);
|
|
29
|
+
}
|
|
15
30
|
const clients = new Map();
|
|
16
31
|
export function resolveMcpBaseUrl(request, config) {
|
|
17
32
|
const forwardedProto = request.headers["x-forwarded-proto"];
|
|
@@ -42,6 +57,45 @@ export function listToolsForMcp(toolRegistry) {
|
|
|
42
57
|
// ── Route registration ───────────────────────────────────────────────
|
|
43
58
|
export function registerMcpRoutes(app, deps) {
|
|
44
59
|
const { toolRegistry, config } = deps;
|
|
60
|
+
app.get("/mcp", async (_request, reply) => {
|
|
61
|
+
reply.raw.writeHead(200, {
|
|
62
|
+
"Content-Type": "text/event-stream",
|
|
63
|
+
"Cache-Control": "no-cache",
|
|
64
|
+
Connection: "keep-alive",
|
|
65
|
+
"X-Accel-Buffering": "no",
|
|
66
|
+
});
|
|
67
|
+
reply.raw.write(": connected\n\n");
|
|
68
|
+
const interval = setInterval(() => {
|
|
69
|
+
try {
|
|
70
|
+
reply.raw.write(": keepalive\n\n");
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
clearInterval(interval);
|
|
74
|
+
}
|
|
75
|
+
}, 15_000);
|
|
76
|
+
reply.raw.on("close", () => {
|
|
77
|
+
clearInterval(interval);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
app.post("/mcp", async (request, reply) => {
|
|
81
|
+
const body = request.body;
|
|
82
|
+
if (!body || body.jsonrpc !== "2.0" || !body.method) {
|
|
83
|
+
return reply.status(400).send({ error: "Invalid JSON-RPC request" });
|
|
84
|
+
}
|
|
85
|
+
const requestedVersion = resolveRequestedProtocolVersion(body, request.headers);
|
|
86
|
+
const hasProtocolHeader = request.headers["mcp-protocol-version"] != null;
|
|
87
|
+
if (hasProtocolHeader && !requestedVersion) {
|
|
88
|
+
return reply.status(400).send({ error: "Invalid or unsupported MCP-Protocol-Version" });
|
|
89
|
+
}
|
|
90
|
+
const negotiatedVersion = requestedVersion ?? DEFAULT_MCP_PROTOCOL_VERSION;
|
|
91
|
+
applyMcpProtocolVersionHeader(reply, negotiatedVersion);
|
|
92
|
+
const response = await handleMcpRequest(body, toolRegistry, negotiatedVersion);
|
|
93
|
+
if (body.id == null) {
|
|
94
|
+
return reply.status(202).send();
|
|
95
|
+
}
|
|
96
|
+
return reply.send(response);
|
|
97
|
+
});
|
|
98
|
+
app.delete("/mcp", async (_request, reply) => reply.status(405).send({ error: "Session termination not supported" }));
|
|
45
99
|
/**
|
|
46
100
|
* GET /mcp/sse — SSE connection endpoint.
|
|
47
101
|
* Client connects here and receives:
|
|
@@ -97,7 +151,7 @@ export function registerMcpRoutes(app, deps) {
|
|
|
97
151
|
if (!body || body.jsonrpc !== "2.0" || !body.method) {
|
|
98
152
|
return reply.status(400).send({ error: "Invalid JSON-RPC request" });
|
|
99
153
|
}
|
|
100
|
-
const response = await handleMcpRequest(body, toolRegistry);
|
|
154
|
+
const response = await handleMcpRequest(body, toolRegistry, DEFAULT_MCP_PROTOCOL_VERSION);
|
|
101
155
|
// Also push the response via SSE to the connected client
|
|
102
156
|
const client = clients.get(clientId);
|
|
103
157
|
if (client?.alive) {
|
|
@@ -105,17 +159,17 @@ export function registerMcpRoutes(app, deps) {
|
|
|
105
159
|
}
|
|
106
160
|
return reply.send(response);
|
|
107
161
|
});
|
|
108
|
-
app.log.info("MCP
|
|
162
|
+
app.log.info("MCP routes registered at /mcp, /mcp/sse and /mcp/messages");
|
|
109
163
|
}
|
|
110
164
|
// ── Request handler ──────────────────────────────────────────────────
|
|
111
|
-
export async function handleMcpRequest(request, toolRegistry) {
|
|
165
|
+
export async function handleMcpRequest(request, toolRegistry, protocolVersion = DEFAULT_MCP_PROTOCOL_VERSION) {
|
|
112
166
|
switch (request.method) {
|
|
113
167
|
case "initialize":
|
|
114
168
|
return {
|
|
115
169
|
jsonrpc: "2.0",
|
|
116
|
-
id: request.id,
|
|
170
|
+
id: request.id ?? null,
|
|
117
171
|
result: {
|
|
118
|
-
protocolVersion
|
|
172
|
+
protocolVersion,
|
|
119
173
|
capabilities: {
|
|
120
174
|
tools: { listChanged: false },
|
|
121
175
|
},
|
|
@@ -128,7 +182,7 @@ export async function handleMcpRequest(request, toolRegistry) {
|
|
|
128
182
|
case "tools/list":
|
|
129
183
|
return {
|
|
130
184
|
jsonrpc: "2.0",
|
|
131
|
-
id: request.id,
|
|
185
|
+
id: request.id ?? null,
|
|
132
186
|
result: {
|
|
133
187
|
tools: listToolsForMcp(toolRegistry).map((tool) => ({
|
|
134
188
|
name: tool.name,
|
|
@@ -148,7 +202,7 @@ export async function handleMcpRequest(request, toolRegistry) {
|
|
|
148
202
|
if (!tool) {
|
|
149
203
|
return {
|
|
150
204
|
jsonrpc: "2.0",
|
|
151
|
-
id: request.id,
|
|
205
|
+
id: request.id ?? null,
|
|
152
206
|
result: {
|
|
153
207
|
content: [{ type: "text", text: `Unknown tool: ${toolName}` }],
|
|
154
208
|
isError: true,
|
|
@@ -165,7 +219,7 @@ export async function handleMcpRequest(request, toolRegistry) {
|
|
|
165
219
|
const result = await tool.execute(args, context);
|
|
166
220
|
return {
|
|
167
221
|
jsonrpc: "2.0",
|
|
168
|
-
id: request.id,
|
|
222
|
+
id: request.id ?? null,
|
|
169
223
|
result: {
|
|
170
224
|
content: [
|
|
171
225
|
{
|
|
@@ -182,7 +236,7 @@ export async function handleMcpRequest(request, toolRegistry) {
|
|
|
182
236
|
catch (err) {
|
|
183
237
|
return {
|
|
184
238
|
jsonrpc: "2.0",
|
|
185
|
-
id: request.id,
|
|
239
|
+
id: request.id ?? null,
|
|
186
240
|
result: {
|
|
187
241
|
content: [{ type: "text", text: `Tool execution error: ${err instanceof Error ? err.message : String(err)}` }],
|
|
188
242
|
isError: true,
|
|
@@ -190,10 +244,18 @@ export async function handleMcpRequest(request, toolRegistry) {
|
|
|
190
244
|
};
|
|
191
245
|
}
|
|
192
246
|
}
|
|
247
|
+
case "notifications/initialized":
|
|
248
|
+
case "initialized":
|
|
249
|
+
case "ping":
|
|
250
|
+
return {
|
|
251
|
+
jsonrpc: "2.0",
|
|
252
|
+
id: request.id ?? null,
|
|
253
|
+
result: {},
|
|
254
|
+
};
|
|
193
255
|
default:
|
|
194
256
|
return {
|
|
195
257
|
jsonrpc: "2.0",
|
|
196
|
-
id: request.id,
|
|
258
|
+
id: request.id ?? null,
|
|
197
259
|
error: { code: -32601, message: `Method not found: ${request.method}` },
|
|
198
260
|
};
|
|
199
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/routes/mcp-server.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/routes/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/services/git.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export interface GitStatusResult {
|
|
|
33
33
|
pr: GitStatusPr | null;
|
|
34
34
|
/** Whether GitHub CLI (`gh`) is installed and authenticated. */
|
|
35
35
|
ghAvailable: boolean;
|
|
36
|
+
/** Hosting provider inferred from the preferred remote URL. */
|
|
37
|
+
prProvider: GitRemoteProvider;
|
|
36
38
|
/** HTTPS remote URL for the primary remote (origin/Jait/etc.) */
|
|
37
39
|
remoteUrl: string | null;
|
|
38
40
|
}
|
|
@@ -97,6 +99,10 @@ export interface GitWorktreeResult {
|
|
|
97
99
|
path: string;
|
|
98
100
|
branch: string;
|
|
99
101
|
}
|
|
102
|
+
export interface GitIdentity {
|
|
103
|
+
name: string | null;
|
|
104
|
+
email: string | null;
|
|
105
|
+
}
|
|
100
106
|
export interface PrCheck {
|
|
101
107
|
name: string;
|
|
102
108
|
state: string;
|
|
@@ -105,9 +111,23 @@ export interface PrCheck {
|
|
|
105
111
|
completedAt: string;
|
|
106
112
|
detailsUrl: string;
|
|
107
113
|
}
|
|
114
|
+
export type GitRemoteProvider = "github" | "azure-devops" | "gitlab" | "bitbucket" | "gitea" | "unknown" | "none";
|
|
115
|
+
interface ParsedRemote {
|
|
116
|
+
provider: Exclude<GitRemoteProvider, "none" | "unknown">;
|
|
117
|
+
host: string;
|
|
118
|
+
normalizedUrl: string;
|
|
119
|
+
repo: string;
|
|
120
|
+
owner?: string;
|
|
121
|
+
organization?: string;
|
|
122
|
+
project?: string;
|
|
123
|
+
}
|
|
124
|
+
export declare function parseGitRemote(raw: string | null): ParsedRemote | null;
|
|
125
|
+
export declare function detectGitRemoteProvider(raw: string | null): GitRemoteProvider;
|
|
108
126
|
export declare class GitService {
|
|
109
127
|
isRepo(cwd: string): Promise<boolean>;
|
|
110
128
|
init(cwd: string): Promise<void>;
|
|
129
|
+
getIdentity(cwd: string): Promise<GitIdentity>;
|
|
130
|
+
setIdentity(cwd: string, name: string, email: string): Promise<GitIdentity>;
|
|
111
131
|
status(cwd: string, requestedBranch?: string, githubToken?: string): Promise<GitStatusResult>;
|
|
112
132
|
/** Fetch CI check statuses for a PR branch via `gh pr checks`. */
|
|
113
133
|
prChecks(cwd: string, branch: string): Promise<PrCheck[]>;
|
|
@@ -157,6 +177,8 @@ export declare class GitService {
|
|
|
157
177
|
* Tries gh CLI first, then falls back to common defaults.
|
|
158
178
|
*/
|
|
159
179
|
resolveDefaultBranch(cwd: string): Promise<string>;
|
|
180
|
+
private createAzureDevopsPr;
|
|
181
|
+
private buildAzurePrUrl;
|
|
160
182
|
private createGithubPrViaApi;
|
|
161
183
|
private fetchGithubPrByHead;
|
|
162
184
|
/**
|
|
@@ -168,7 +190,7 @@ export declare class GitService {
|
|
|
168
190
|
* Build a URL to create a new pull request on the hosting provider.
|
|
169
191
|
* Supports GitHub, GitLab, Bitbucket, and Azure DevOps remote URLs.
|
|
170
192
|
*/
|
|
171
|
-
buildCreatePrUrl(cwd: string, branch: string, remoteName?: string): Promise<string | undefined>;
|
|
193
|
+
buildCreatePrUrl(cwd: string, branch: string, remoteName?: string, baseBranch?: string): Promise<string | undefined>;
|
|
172
194
|
/** Return the diff of uncommitted changes (staged + unstaged). */
|
|
173
195
|
diff(cwd: string): Promise<GitDiffResult>;
|
|
174
196
|
/**
|
|
@@ -197,4 +219,5 @@ export declare function cleanupWorktreeRemoteAware(worktreePath: string, ws?: {
|
|
|
197
219
|
platform?: string;
|
|
198
220
|
}[];
|
|
199
221
|
}): Promise<void>;
|
|
222
|
+
export {};
|
|
200
223
|
//# sourceMappingURL=git.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE;QACX,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;IACvB,gEAAgE;IAChE,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,GAAG,oBAAoB,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,IAAI,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,uBAAuB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpN,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,GAAG,uBAAuB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,EAAE,EAAE;QAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,mBAAmB,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxL;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,GAAG,oBAAoB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/services/git.ts"],"names":[],"mappings":"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"}
|