@jait/gateway 0.1.241 → 0.1.244
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/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/providers/jait-provider.d.ts +21 -1
- package/dist/providers/jait-provider.d.ts.map +1 -1
- package/dist/providers/jait-provider.js +181 -12
- package/dist/providers/jait-provider.js.map +1 -1
- package/dist/routes/chat.d.ts.map +1 -1
- package/dist/routes/chat.js +10 -1
- package/dist/routes/chat.js.map +1 -1
- package/dist/routes/mcp-server.d.ts +1 -0
- package/dist/routes/mcp-server.d.ts.map +1 -1
- package/dist/routes/mcp-server.js +12 -4
- package/dist/routes/mcp-server.js.map +1 -1
- package/dist/routes/threads.d.ts.map +1 -1
- package/dist/routes/threads.js +61 -1
- package/dist/routes/threads.js.map +1 -1
- package/dist/tools/agent-loop.d.ts +9 -0
- package/dist/tools/agent-loop.d.ts.map +1 -1
- package/dist/tools/agent-loop.js.map +1 -1
- package/dist/tools/agent-tools.d.ts.map +1 -1
- package/dist/tools/agent-tools.js +3 -0
- package/dist/tools/agent-tools.js.map +1 -1
- package/dist/tools/contracts.d.ts +3 -0
- package/dist/tools/contracts.d.ts.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/thread-tools.d.ts +0 -2
- package/dist/tools/thread-tools.d.ts.map +1 -1
- package/dist/tools/thread-tools.js +103 -28
- package/dist/tools/thread-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@ import type { ProviderId } from "../providers/contracts.js";
|
|
|
2
2
|
import type { ProviderRegistry } from "../providers/registry.js";
|
|
3
3
|
import { type GitStackedAction, type GitStepResult } from "../services/git.js";
|
|
4
4
|
import type { ThreadService } from "../services/threads.js";
|
|
5
|
-
import type { UserService } from "../services/users.js";
|
|
6
5
|
import type { WsControlPlane } from "../ws.js";
|
|
7
6
|
import type { ToolDefinition } from "./contracts.js";
|
|
8
7
|
interface ThreadControlInput {
|
|
@@ -52,7 +51,6 @@ interface ThreadControlGit {
|
|
|
52
51
|
export interface ThreadControlToolDeps {
|
|
53
52
|
threadService: ThreadService;
|
|
54
53
|
providerRegistry: ProviderRegistry;
|
|
55
|
-
userService?: UserService;
|
|
56
54
|
ws?: WsControlPlane;
|
|
57
55
|
mcpConfig?: {
|
|
58
56
|
host: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-tools.d.ts","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAA0C,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"thread-tools.d.ts","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import { GitService, cleanupWorktreeRemoteAware } from "../services/git.js";
|
|
2
2
|
import { ToolName } from "./tool-names.js";
|
|
3
|
+
function normalizeThreadProviderId(value) {
|
|
4
|
+
if (typeof value !== "string")
|
|
5
|
+
return null;
|
|
6
|
+
switch (value.trim().toLowerCase()) {
|
|
7
|
+
case "openai":
|
|
8
|
+
return "codex";
|
|
9
|
+
case "anthropic":
|
|
10
|
+
return "claude-code";
|
|
11
|
+
case "google":
|
|
12
|
+
return "gemini";
|
|
13
|
+
case "github":
|
|
14
|
+
return "copilot";
|
|
15
|
+
case "jait":
|
|
16
|
+
case "codex":
|
|
17
|
+
case "claude-code":
|
|
18
|
+
case "gemini":
|
|
19
|
+
case "opencode":
|
|
20
|
+
case "copilot":
|
|
21
|
+
return value.trim().toLowerCase();
|
|
22
|
+
default:
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
3
26
|
export function createThreadControlTool(deps) {
|
|
4
27
|
const gitService = deps.gitService ?? new GitService();
|
|
5
28
|
const broadcastThreadEvent = (threadId, event, data) => {
|
|
@@ -16,18 +39,55 @@ export function createThreadControlTool(deps) {
|
|
|
16
39
|
const userId = context.userId?.trim();
|
|
17
40
|
return userId || "system";
|
|
18
41
|
};
|
|
19
|
-
const resolveProviderId = (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
42
|
+
const resolveProviderId = (context, requestedProviderId) => {
|
|
43
|
+
const contextProvider = normalizeThreadProviderId(context.providerId);
|
|
44
|
+
const resolveRegisteredProvider = (providerId, label) => deps.providerRegistry.get(providerId)
|
|
45
|
+
? { providerId }
|
|
46
|
+
: { error: `${label} '${providerId}' is not registered on this gateway.` };
|
|
47
|
+
if (typeof requestedProviderId === "string") {
|
|
48
|
+
const requested = normalizeThreadProviderId(requestedProviderId);
|
|
49
|
+
if (!requested) {
|
|
50
|
+
return {
|
|
51
|
+
error: `Provider '${requestedProviderId}' is not supported for agent threads.`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (contextProvider && requested !== contextProvider) {
|
|
55
|
+
return {
|
|
56
|
+
error: `Requested provider '${requested}' does not match the calling agent provider '${contextProvider}'.`,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
if (!contextProvider) {
|
|
60
|
+
return resolveRegisteredProvider(requested, "Provider");
|
|
24
61
|
}
|
|
25
62
|
}
|
|
26
|
-
if (
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
63
|
+
if (context.providerId && !contextProvider) {
|
|
64
|
+
return {
|
|
65
|
+
error: `Calling agent provider '${context.providerId}' is not supported for agent threads.`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (!contextProvider) {
|
|
69
|
+
return {
|
|
70
|
+
error: "No provider could be resolved for this thread. The calling agent must provide a supported provider, or the caller must pass an explicit providerId.",
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return resolveRegisteredProvider(contextProvider, "The calling agent provider");
|
|
74
|
+
};
|
|
75
|
+
const resolveStoredThreadProvider = (threadProviderId, context) => {
|
|
76
|
+
const storedProvider = normalizeThreadProviderId(threadProviderId);
|
|
77
|
+
if (!storedProvider) {
|
|
78
|
+
return {
|
|
79
|
+
error: `Thread provider '${String(threadProviderId)}' is not supported for agent threads.`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const contextProvider = normalizeThreadProviderId(context.providerId);
|
|
83
|
+
if (contextProvider && contextProvider !== storedProvider) {
|
|
84
|
+
return {
|
|
85
|
+
error: `Thread provider '${storedProvider}' does not match the calling agent provider '${contextProvider}'.`,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return deps.providerRegistry.get(storedProvider)
|
|
89
|
+
? { providerId: storedProvider }
|
|
90
|
+
: { error: `Provider '${storedProvider}' is not registered on this gateway.` };
|
|
31
91
|
};
|
|
32
92
|
const getAccessibleThread = (threadId, userId) => {
|
|
33
93
|
const thread = deps.threadService.getById(threadId);
|
|
@@ -37,14 +97,16 @@ export function createThreadControlTool(deps) {
|
|
|
37
97
|
return undefined;
|
|
38
98
|
return thread;
|
|
39
99
|
};
|
|
40
|
-
const startThread = async (
|
|
100
|
+
const startThread = async (context, thread, message, attachments) => {
|
|
41
101
|
if (thread.status === "running" && thread.providerSessionId) {
|
|
42
102
|
return { ok: false, message: "Thread is already running" };
|
|
43
103
|
}
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
104
|
+
const resolvedProvider = resolveStoredThreadProvider(thread.providerId, context);
|
|
105
|
+
if (!resolvedProvider.providerId) {
|
|
106
|
+
return { ok: false, message: resolvedProvider.error ?? "Unable to resolve a provider for this thread." };
|
|
107
|
+
}
|
|
108
|
+
const effectiveProviderId = resolvedProvider.providerId;
|
|
109
|
+
const effectiveThread = thread;
|
|
48
110
|
const provider = deps.providerRegistry.get(effectiveProviderId);
|
|
49
111
|
if (!provider) {
|
|
50
112
|
return { ok: false, message: `Provider '${effectiveProviderId}' not found` };
|
|
@@ -61,7 +123,7 @@ export function createThreadControlTool(deps) {
|
|
|
61
123
|
threadId: effectiveThread.id,
|
|
62
124
|
workingDirectory: effectiveThread.workingDirectory ?? process.cwd(),
|
|
63
125
|
mode: effectiveThread.runtimeMode ?? "full-access",
|
|
64
|
-
model: effectiveThread.model ?? undefined,
|
|
126
|
+
model: effectiveThread.model ?? context.model ?? undefined,
|
|
65
127
|
mcpServers,
|
|
66
128
|
});
|
|
67
129
|
const unsubscribe = provider.onEvent((event) => {
|
|
@@ -140,7 +202,7 @@ export function createThreadControlTool(deps) {
|
|
|
140
202
|
threadId: { type: "string", description: "Thread ID for thread-specific actions." },
|
|
141
203
|
sessionId: { type: "string", description: "Optional session filter or session assignment on create." },
|
|
142
204
|
title: { type: "string", description: "Thread title (create/update)." },
|
|
143
|
-
providerId: { type: "string", enum: ["jait", "codex", "claude-code"], description: "Thread provider." },
|
|
205
|
+
providerId: { type: "string", enum: ["jait", "codex", "claude-code", "gemini", "opencode", "copilot"], description: "Thread provider. 'jait' means use the current/default thread-capable provider." },
|
|
144
206
|
model: { type: "string", description: "Optional provider model." },
|
|
145
207
|
runtimeMode: { type: "string", enum: ["full-access", "supervised"], description: "Execution mode for thread runs." },
|
|
146
208
|
kind: { type: "string", enum: ["delivery", "delegation"], description: "Thread kind. Delegation threads are helper workers and do not create PRs." },
|
|
@@ -160,7 +222,7 @@ export function createThreadControlTool(deps) {
|
|
|
160
222
|
type: "object",
|
|
161
223
|
properties: {
|
|
162
224
|
title: { type: "string" },
|
|
163
|
-
providerId: { type: "string", enum: ["jait", "codex", "claude-code"] },
|
|
225
|
+
providerId: { type: "string", enum: ["jait", "codex", "claude-code", "gemini", "opencode", "copilot"] },
|
|
164
226
|
model: { type: "string" },
|
|
165
227
|
runtimeMode: { type: "string", enum: ["full-access", "supervised"] },
|
|
166
228
|
kind: { type: "string", enum: ["delivery", "delegation"] },
|
|
@@ -213,13 +275,16 @@ export function createThreadControlTool(deps) {
|
|
|
213
275
|
return { ok: true, message: "Thread loaded", data: { thread } };
|
|
214
276
|
}
|
|
215
277
|
case "create": {
|
|
216
|
-
const
|
|
278
|
+
const resolvedProvider = resolveProviderId(context, input.providerId);
|
|
279
|
+
if (!resolvedProvider.providerId) {
|
|
280
|
+
return { ok: false, message: resolvedProvider.error ?? "Unable to resolve a provider for this thread." };
|
|
281
|
+
}
|
|
217
282
|
const thread = deps.threadService.create({
|
|
218
283
|
userId,
|
|
219
284
|
sessionId: input.sessionId,
|
|
220
285
|
title: input.title?.trim() || "New Thread",
|
|
221
|
-
providerId,
|
|
222
|
-
model: input.model,
|
|
286
|
+
providerId: resolvedProvider.providerId,
|
|
287
|
+
model: input.model ?? context.model,
|
|
223
288
|
runtimeMode: input.runtimeMode ?? "full-access",
|
|
224
289
|
kind: input.kind === "delivery" ? "delivery" : "delegation",
|
|
225
290
|
workingDirectory: input.workingDirectory,
|
|
@@ -229,7 +294,7 @@ export function createThreadControlTool(deps) {
|
|
|
229
294
|
if (!input.start) {
|
|
230
295
|
return { ok: true, message: "Thread created", data: { thread } };
|
|
231
296
|
}
|
|
232
|
-
const started = await startThread(
|
|
297
|
+
const started = await startThread(context, thread, input.message, input.attachments);
|
|
233
298
|
if (!started.ok) {
|
|
234
299
|
return {
|
|
235
300
|
ok: false,
|
|
@@ -247,14 +312,24 @@ export function createThreadControlTool(deps) {
|
|
|
247
312
|
if (!input.threads || input.threads.length === 0) {
|
|
248
313
|
return { ok: false, message: "create_many requires non-empty `threads`." };
|
|
249
314
|
}
|
|
250
|
-
const
|
|
251
|
-
|
|
315
|
+
const validatedSpecs = input.threads.map((spec) => ({
|
|
316
|
+
spec,
|
|
317
|
+
resolvedProvider: resolveProviderId(context, spec.providerId ?? input.providerId),
|
|
318
|
+
}));
|
|
319
|
+
const firstResolutionError = validatedSpecs.find(({ resolvedProvider }) => !resolvedProvider.providerId);
|
|
320
|
+
if (firstResolutionError) {
|
|
321
|
+
return {
|
|
322
|
+
ok: false,
|
|
323
|
+
message: firstResolutionError.resolvedProvider.error ?? `Unable to resolve a provider for thread '${firstResolutionError.spec.title}'.`,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
const created = validatedSpecs.map(({ spec, resolvedProvider }) => {
|
|
252
327
|
const thread = deps.threadService.create({
|
|
253
328
|
userId,
|
|
254
329
|
sessionId: spec.sessionId ?? input.sessionId,
|
|
255
330
|
title: spec.title?.trim() || "New Thread",
|
|
256
|
-
providerId:
|
|
257
|
-
model: spec.model ?? input.model,
|
|
331
|
+
providerId: resolvedProvider.providerId,
|
|
332
|
+
model: spec.model ?? input.model ?? context.model,
|
|
258
333
|
runtimeMode: spec.runtimeMode ?? input.runtimeMode ?? "full-access",
|
|
259
334
|
kind: spec.kind === "delivery" ? "delivery" : input.kind === "delivery" ? "delivery" : "delegation",
|
|
260
335
|
workingDirectory: spec.workingDirectory ?? input.workingDirectory,
|
|
@@ -265,7 +340,7 @@ export function createThreadControlTool(deps) {
|
|
|
265
340
|
});
|
|
266
341
|
const startTargets = created.filter(({ spec }) => spec.start === true || input.start === true);
|
|
267
342
|
const startResults = await Promise.all(startTargets.map(async ({ thread, spec }) => {
|
|
268
|
-
const started = await startThread(
|
|
343
|
+
const started = await startThread(context, thread, spec.message ?? input.message, spec.attachments ?? input.attachments);
|
|
269
344
|
return {
|
|
270
345
|
threadId: thread.id,
|
|
271
346
|
ok: started.ok,
|
|
@@ -349,7 +424,7 @@ export function createThreadControlTool(deps) {
|
|
|
349
424
|
const thread = getAccessibleThread(input.threadId, userId);
|
|
350
425
|
if (!thread)
|
|
351
426
|
return { ok: false, message: "Thread not found." };
|
|
352
|
-
const started = await startThread(
|
|
427
|
+
const started = await startThread(context, thread, input.message, input.attachments);
|
|
353
428
|
return {
|
|
354
429
|
ok: started.ok,
|
|
355
430
|
message: started.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-tools.js","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread-tools.js","sourceRoot":"","sources":["../../src/tools/thread-tools.ts"],"names":[],"mappings":"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"}
|