openfox 2.0.55 → 2.0.57
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/{chat-handler-C3NO5RY3.js → chat-handler-QO4XB66I.js} +5 -5
- package/dist/{chunk-7V3JBKYK.js → chunk-5HOP4QF7.js} +64 -34
- package/dist/{chunk-CYJEQF7U.js → chunk-ADOXTORQ.js} +9 -1
- package/dist/{chunk-ZIW47U5D.js → chunk-AGXBUC4M.js} +30 -16
- package/dist/{chunk-OCILP3SJ.js → chunk-BIWVYBIE.js} +2 -2
- package/dist/{chunk-PRYVRROH.js → chunk-DQCEXCDD.js} +4 -4
- package/dist/{chunk-5UHSEVAP.js → chunk-F7M2W46Q.js} +2 -2
- package/dist/{chunk-JQ4FVPIM.js → chunk-WI6HGJ27.js} +2 -2
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{manager-FV4BDEVU.js → manager-CZOVNTSN.js} +3 -3
- package/dist/{orchestrator-2OPDGKLZ.js → orchestrator-YMNKXVDF.js} +5 -5
- package/dist/package.json +1 -1
- package/dist/{processor-VUAIB4Z6.js → processor-2BB65JWR.js} +5 -5
- package/dist/{serve-UX6YYIMR.js → serve-WFQT6BP6.js} +7 -7
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +6 -6
- package/dist/{server-ILO7GYZE.js → server-V32ZOVU4.js} +6 -6
- package/dist/{store-TTU4UQQ7.js → store-NS2RMRA7.js} +2 -2
- package/dist/{tools-32PBXC2S.js → tools-L2SMYKJZ.js} +4 -4
- package/dist/web/assets/{index-ByGymMJ1.js → index-CRW5qofP.js} +72 -72
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
} from "./chunk-UOKVBO67.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-WI6HGJ27.js";
|
|
9
|
+
import "./chunk-AGXBUC4M.js";
|
|
10
10
|
import "./chunk-LBGHZLLH.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-BIWVYBIE.js";
|
|
12
|
+
import "./chunk-ADOXTORQ.js";
|
|
13
13
|
import "./chunk-NWO6GRYE.js";
|
|
14
14
|
import {
|
|
15
15
|
createChatMessageMessage,
|
|
@@ -154,4 +154,4 @@ export {
|
|
|
154
154
|
startChatSession,
|
|
155
155
|
stopSessionExecution
|
|
156
156
|
};
|
|
157
|
-
//# sourceMappingURL=chat-handler-
|
|
157
|
+
//# sourceMappingURL=chat-handler-QO4XB66I.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
tokenFromPassword,
|
|
22
22
|
verifyPassword,
|
|
23
23
|
workflowExists
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DQCEXCDD.js";
|
|
25
25
|
import {
|
|
26
26
|
agentExists,
|
|
27
27
|
createToolRegistry,
|
|
@@ -61,11 +61,11 @@ import {
|
|
|
61
61
|
setMcpTools,
|
|
62
62
|
setNotifyMcpServersChanged,
|
|
63
63
|
skillExists
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-AGXBUC4M.js";
|
|
65
65
|
import {
|
|
66
66
|
getPathSeparator,
|
|
67
67
|
isAbsolutePath
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-BIWVYBIE.js";
|
|
69
69
|
import {
|
|
70
70
|
createMcpTools
|
|
71
71
|
} from "./chunk-NWO6GRYE.js";
|
|
@@ -2506,9 +2506,20 @@ var SessionManager = class {
|
|
|
2506
2506
|
constructor(providerManager) {
|
|
2507
2507
|
this.providerManager = providerManager;
|
|
2508
2508
|
}
|
|
2509
|
-
getCurrentModelSettings() {
|
|
2510
|
-
|
|
2511
|
-
|
|
2509
|
+
getCurrentModelSettings(sessionId) {
|
|
2510
|
+
let providerId;
|
|
2511
|
+
let model;
|
|
2512
|
+
if (sessionId) {
|
|
2513
|
+
const session = this.getSession(sessionId);
|
|
2514
|
+
if (session?.providerId && session?.providerModel) {
|
|
2515
|
+
providerId = session.providerId;
|
|
2516
|
+
model = session.providerModel;
|
|
2517
|
+
}
|
|
2518
|
+
}
|
|
2519
|
+
if (!providerId || !model) {
|
|
2520
|
+
model = this.providerManager.getCurrentModel();
|
|
2521
|
+
providerId = this.providerManager.getActiveProviderId();
|
|
2522
|
+
}
|
|
2512
2523
|
if (!model || !providerId) return void 0;
|
|
2513
2524
|
return this.providerManager.getModelSettings(providerId, model);
|
|
2514
2525
|
}
|
|
@@ -2948,14 +2959,14 @@ var SessionManager = class {
|
|
|
2948
2959
|
const msg = {
|
|
2949
2960
|
queueId: crypto.randomUUID(),
|
|
2950
2961
|
mode,
|
|
2951
|
-
content,
|
|
2962
|
+
content: content ?? "",
|
|
2952
2963
|
...attachments ? { attachments } : {},
|
|
2953
2964
|
...messageKind ? { messageKind } : {},
|
|
2954
2965
|
queuedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
2955
2966
|
};
|
|
2956
2967
|
queue.push(msg);
|
|
2957
2968
|
this.messageQueues.set(sessionId, queue);
|
|
2958
|
-
this.emit({ type: "queue_added", sessionId, queueId: msg.queueId, mode, content });
|
|
2969
|
+
this.emit({ type: "queue_added", sessionId, queueId: msg.queueId, mode, content: content ?? "" });
|
|
2959
2970
|
return msg;
|
|
2960
2971
|
}
|
|
2961
2972
|
cancelQueuedMessage(sessionId, queueId) {
|
|
@@ -3849,7 +3860,7 @@ import { Router as Router7 } from "express";
|
|
|
3849
3860
|
import { spawn as spawn2 } from "child_process";
|
|
3850
3861
|
|
|
3851
3862
|
// src/constants.ts
|
|
3852
|
-
var VERSION = "2.0.
|
|
3863
|
+
var VERSION = "2.0.57";
|
|
3853
3864
|
|
|
3854
3865
|
// src/server/routes/auto-update.ts
|
|
3855
3866
|
var updateInProgress = false;
|
|
@@ -4050,7 +4061,7 @@ async function createServerHandle(config4) {
|
|
|
4050
4061
|
setMcpTools(mcpTools);
|
|
4051
4062
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
4052
4063
|
}
|
|
4053
|
-
const { signalMcpReady } = await import("./server-
|
|
4064
|
+
const { signalMcpReady } = await import("./server-V32ZOVU4.js");
|
|
4054
4065
|
signalMcpReady();
|
|
4055
4066
|
});
|
|
4056
4067
|
const app = express();
|
|
@@ -4243,7 +4254,7 @@ async function createServerHandle(config4) {
|
|
|
4243
4254
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
4244
4255
|
const { getEventStore: getEventStore2 } = await import("./events-52XADT6Y.js");
|
|
4245
4256
|
const { buildMessagesFromStoredEvents } = await import("./folding-2BGFLV5J.js");
|
|
4246
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
4257
|
+
const { getPendingQuestionsForSession } = await import("./tools-L2SMYKJZ.js");
|
|
4247
4258
|
const session = sessionManager.getSession(req.params.id);
|
|
4248
4259
|
if (!session) {
|
|
4249
4260
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -4262,8 +4273,8 @@ async function createServerHandle(config4) {
|
|
|
4262
4273
|
if (!session) {
|
|
4263
4274
|
return res.status(404).json({ error: "Session not found" });
|
|
4264
4275
|
}
|
|
4265
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
4266
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
4276
|
+
const { stopSessionExecution } = await import("./chat-handler-QO4XB66I.js");
|
|
4277
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-L2SMYKJZ.js");
|
|
4267
4278
|
sessionManager.clearMessageQueue(sessionId);
|
|
4268
4279
|
stopSessionExecution(sessionId, sessionManager);
|
|
4269
4280
|
abortSession(sessionId);
|
|
@@ -4417,7 +4428,7 @@ async function createServerHandle(config4) {
|
|
|
4417
4428
|
if (!callId || approved === void 0) {
|
|
4418
4429
|
return res.status(400).json({ error: "callId and approved are required" });
|
|
4419
4430
|
}
|
|
4420
|
-
const { providePathConfirmation } = await import("./tools-
|
|
4431
|
+
const { providePathConfirmation } = await import("./tools-L2SMYKJZ.js");
|
|
4421
4432
|
const result = providePathConfirmation(callId, approved, alwaysAllow);
|
|
4422
4433
|
if (!result.found) {
|
|
4423
4434
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -4425,7 +4436,7 @@ async function createServerHandle(config4) {
|
|
|
4425
4436
|
const { getEventStore: getEventStore2 } = await import("./events-52XADT6Y.js");
|
|
4426
4437
|
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-2BGFLV5J.js");
|
|
4427
4438
|
const { createSessionStateMessage } = await import("./protocol-CTNE3ANP.js");
|
|
4428
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
4439
|
+
const { getPendingQuestionsForSession } = await import("./tools-L2SMYKJZ.js");
|
|
4429
4440
|
const eventStore = getEventStore2();
|
|
4430
4441
|
const events = eventStore.getEvents(sessionId);
|
|
4431
4442
|
const messages = buildMessagesFromStoredEvents(events);
|
|
@@ -4446,7 +4457,7 @@ async function createServerHandle(config4) {
|
|
|
4446
4457
|
if (!skip && typeof answer !== "string") {
|
|
4447
4458
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
4448
4459
|
}
|
|
4449
|
-
const { provideAnswer } = await import("./tools-
|
|
4460
|
+
const { provideAnswer } = await import("./tools-L2SMYKJZ.js");
|
|
4450
4461
|
const found = provideAnswer(callId, answer ?? "", skip ?? false);
|
|
4451
4462
|
if (!found) {
|
|
4452
4463
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -4460,8 +4471,10 @@ async function createServerHandle(config4) {
|
|
|
4460
4471
|
return res.status(404).json({ error: "Session not found" });
|
|
4461
4472
|
}
|
|
4462
4473
|
const { content, attachments, messageKind } = req.body;
|
|
4463
|
-
|
|
4464
|
-
|
|
4474
|
+
const hasContent = content?.trim();
|
|
4475
|
+
const hasAttachments = Array.isArray(attachments) && attachments.length > 0;
|
|
4476
|
+
if (!hasContent && !hasAttachments) {
|
|
4477
|
+
return res.status(400).json({ error: "content or attachments is required" });
|
|
4465
4478
|
}
|
|
4466
4479
|
sessionManager.queueMessage(sessionId, "asap", content, attachments, messageKind);
|
|
4467
4480
|
res.json({ success: true, queueState: sessionManager.getQueueState(sessionId) });
|
|
@@ -4482,18 +4495,35 @@ async function createServerHandle(config4) {
|
|
|
4482
4495
|
if (sessionManager.isWarmedUp(sessionId)) {
|
|
4483
4496
|
return res.json({ success: false, reason: "already_warmed" });
|
|
4484
4497
|
}
|
|
4485
|
-
|
|
4498
|
+
if (session.providerId && session.providerModel) {
|
|
4499
|
+
const currentActiveProviderId = providerManager.getActiveProviderId();
|
|
4500
|
+
const currentModel = providerManager.getCurrentModel();
|
|
4501
|
+
if (currentActiveProviderId !== session.providerId || currentModel !== session.providerModel) {
|
|
4502
|
+
const result = await providerManager.activateProvider(session.providerId, { model: session.providerModel });
|
|
4503
|
+
if (!result.success) {
|
|
4504
|
+
logger.error("Failed to activate session provider for warmup", {
|
|
4505
|
+
sessionId,
|
|
4506
|
+
providerId: session.providerId,
|
|
4507
|
+
error: result.error
|
|
4508
|
+
});
|
|
4509
|
+
}
|
|
4510
|
+
}
|
|
4511
|
+
}
|
|
4512
|
+
const llmClient = getLLMClient();
|
|
4513
|
+
const activeProvider = providerManager.getActiveProvider();
|
|
4514
|
+
const statsIdentity = {
|
|
4515
|
+
providerId: activeProvider?.id ?? `provider:${llmClient.getModel()}`,
|
|
4516
|
+
providerName: activeProvider?.name ?? "Unknown Provider",
|
|
4517
|
+
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
4518
|
+
model: llmClient.getModel()
|
|
4519
|
+
};
|
|
4520
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-YMNKXVDF.js");
|
|
4486
4521
|
runAgentTurn(
|
|
4487
4522
|
{
|
|
4488
4523
|
sessionManager,
|
|
4489
4524
|
sessionId,
|
|
4490
|
-
llmClient
|
|
4491
|
-
statsIdentity
|
|
4492
|
-
providerId: "warmup",
|
|
4493
|
-
providerName: "Warmup",
|
|
4494
|
-
backend: getLLMClient().getBackend(),
|
|
4495
|
-
model: getLLMClient().getModel()
|
|
4496
|
-
},
|
|
4525
|
+
llmClient,
|
|
4526
|
+
statsIdentity,
|
|
4497
4527
|
onMessage: () => {
|
|
4498
4528
|
},
|
|
4499
4529
|
warmup: true
|
|
@@ -4525,8 +4555,8 @@ async function createServerHandle(config4) {
|
|
|
4525
4555
|
if (!session) {
|
|
4526
4556
|
return res.status(404).json({ error: "Session not found" });
|
|
4527
4557
|
}
|
|
4528
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
4529
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
4558
|
+
const { stopSessionExecution } = await import("./chat-handler-QO4XB66I.js");
|
|
4559
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-L2SMYKJZ.js");
|
|
4530
4560
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
4531
4561
|
sessionManager.clearMessageQueue(sessionId);
|
|
4532
4562
|
stopSessionExecution(sessionId, sessionManager);
|
|
@@ -5036,7 +5066,7 @@ async function createServerHandle(config4) {
|
|
|
5036
5066
|
});
|
|
5037
5067
|
async function rebuildMcpTools() {
|
|
5038
5068
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-MOGEI6TP.js");
|
|
5039
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
5069
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-L2SMYKJZ.js");
|
|
5040
5070
|
const mcpTools = createMcpTools2(mcpManager);
|
|
5041
5071
|
setMcpTools2(mcpTools);
|
|
5042
5072
|
}
|
|
@@ -5195,13 +5225,13 @@ async function createServerHandle(config4) {
|
|
|
5195
5225
|
})
|
|
5196
5226
|
);
|
|
5197
5227
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
5198
|
-
const { getSessionProcesses } = await import("./manager-
|
|
5228
|
+
const { getSessionProcesses } = await import("./manager-CZOVNTSN.js");
|
|
5199
5229
|
const sessionId = req.params.id;
|
|
5200
5230
|
const processes = getSessionProcesses(sessionId);
|
|
5201
5231
|
res.json({ processes });
|
|
5202
5232
|
});
|
|
5203
5233
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
5204
|
-
const { stopProcess } = await import("./manager-
|
|
5234
|
+
const { stopProcess } = await import("./manager-CZOVNTSN.js");
|
|
5205
5235
|
const sessionId = req.params.id;
|
|
5206
5236
|
const processId = req.params.processId;
|
|
5207
5237
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -5344,7 +5374,7 @@ async function createServerHandle(config4) {
|
|
|
5344
5374
|
const state = sessionManager.getContextState(sessionId);
|
|
5345
5375
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
5346
5376
|
});
|
|
5347
|
-
const { QueueProcessor } = await import("./processor-
|
|
5377
|
+
const { QueueProcessor } = await import("./processor-2BB65JWR.js");
|
|
5348
5378
|
const queueProcessor = new QueueProcessor({
|
|
5349
5379
|
sessionManager,
|
|
5350
5380
|
providerManager,
|
|
@@ -5387,7 +5417,7 @@ async function createServerHandle(config4) {
|
|
|
5387
5417
|
await mcpManager.disconnectAll();
|
|
5388
5418
|
const { stopAllInspectProxies } = await import("./inspect-proxy-BV25JERQ.js");
|
|
5389
5419
|
stopAllInspectProxies();
|
|
5390
|
-
const { cleanupAllProcesses } = await import("./store-
|
|
5420
|
+
const { cleanupAllProcesses } = await import("./store-NS2RMRA7.js");
|
|
5391
5421
|
cleanupAllProcesses();
|
|
5392
5422
|
viteServer?.close();
|
|
5393
5423
|
for (const client of wss.clients) {
|
|
@@ -5419,4 +5449,4 @@ export {
|
|
|
5419
5449
|
createServerHandle,
|
|
5420
5450
|
createServer
|
|
5421
5451
|
};
|
|
5422
|
-
//# sourceMappingURL=chunk-
|
|
5452
|
+
//# sourceMappingURL=chunk-5HOP4QF7.js.map
|
|
@@ -70,6 +70,14 @@ async function terminateProcessTree(proc, options) {
|
|
|
70
70
|
if (!pid || options?.exited?.()) {
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
|
+
if (options?.immediate) {
|
|
74
|
+
const allPids = await getDescendantPids(pid);
|
|
75
|
+
allPids.push(pid);
|
|
76
|
+
for (const p of allPids) {
|
|
77
|
+
killProcess(p, "SIGKILL");
|
|
78
|
+
}
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
73
81
|
await killProcessTree(pid);
|
|
74
82
|
}
|
|
75
83
|
|
|
@@ -216,4 +224,4 @@ export {
|
|
|
216
224
|
getProcessById,
|
|
217
225
|
cleanupAllProcesses
|
|
218
226
|
};
|
|
219
|
-
//# sourceMappingURL=chunk-
|
|
227
|
+
//# sourceMappingURL=chunk-ADOXTORQ.js.map
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
getSessionProcesses,
|
|
10
10
|
startProcessCommand,
|
|
11
11
|
stopProcess
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-BIWVYBIE.js";
|
|
13
13
|
import {
|
|
14
14
|
getMaxPerSession,
|
|
15
15
|
getSessionProcessCount,
|
|
16
16
|
terminateProcessTree
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ADOXTORQ.js";
|
|
18
18
|
import {
|
|
19
19
|
createMcpTools
|
|
20
20
|
} from "./chunk-NWO6GRYE.js";
|
|
@@ -170,10 +170,23 @@ function isPathAllowed(sessionId, path) {
|
|
|
170
170
|
return allowed.has(normalize(path));
|
|
171
171
|
}
|
|
172
172
|
async function safeRealpath(path) {
|
|
173
|
+
const absolutePath = normalize(resolve(path));
|
|
173
174
|
try {
|
|
174
|
-
return await realpath(
|
|
175
|
+
return await realpath(absolutePath);
|
|
175
176
|
} catch {
|
|
176
|
-
|
|
177
|
+
const missingSegments = [];
|
|
178
|
+
let current = absolutePath;
|
|
179
|
+
while (true) {
|
|
180
|
+
try {
|
|
181
|
+
const canonicalParent = await realpath(current);
|
|
182
|
+
return normalize(join(canonicalParent, ...missingSegments.reverse()));
|
|
183
|
+
} catch {
|
|
184
|
+
const parent = resolve(current, "..");
|
|
185
|
+
if (parent === current) return absolutePath;
|
|
186
|
+
missingSegments.push(basename(current));
|
|
187
|
+
current = parent;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
177
190
|
}
|
|
178
191
|
}
|
|
179
192
|
async function isPathWithinSandbox(path, workdir, sessionId) {
|
|
@@ -186,9 +199,9 @@ async function isPathWithinSandbox(path, workdir, sessionId) {
|
|
|
186
199
|
const { readlink } = await import("fs/promises");
|
|
187
200
|
const linkTarget = await readlink(path);
|
|
188
201
|
const linkDir = resolve(path, "..");
|
|
189
|
-
resolvedPath =
|
|
202
|
+
resolvedPath = await safeRealpath(resolve(linkDir, linkTarget));
|
|
190
203
|
} catch {
|
|
191
|
-
resolvedPath =
|
|
204
|
+
resolvedPath = await safeRealpath(path);
|
|
192
205
|
}
|
|
193
206
|
}
|
|
194
207
|
resolvedPath = resolvedPath.replace(/\/+$/, "");
|
|
@@ -196,12 +209,12 @@ async function isPathWithinSandbox(path, workdir, sessionId) {
|
|
|
196
209
|
return { allowed: true, resolvedPath };
|
|
197
210
|
}
|
|
198
211
|
for (const root of ALLOWED_ROOTS) {
|
|
199
|
-
const normalizedRoot = normalize(root);
|
|
212
|
+
const normalizedRoot = normalize((await safeRealpath(root)).replace(/\/+$/, ""));
|
|
200
213
|
if (resolvedPath === normalizedRoot || resolvedPath.startsWith(normalizedRoot + sep)) {
|
|
201
214
|
return { allowed: true, resolvedPath };
|
|
202
215
|
}
|
|
203
216
|
}
|
|
204
|
-
if (sessionId && isPathAllowed(sessionId, resolvedPath)) {
|
|
217
|
+
if (sessionId && (isPathAllowed(sessionId, path) || isPathAllowed(sessionId, resolvedPath))) {
|
|
205
218
|
return { allowed: true, resolvedPath };
|
|
206
219
|
}
|
|
207
220
|
return { allowed: false, resolvedPath };
|
|
@@ -1450,7 +1463,7 @@ function executeCommand(command, cwd, timeout, signal, onProgress) {
|
|
|
1450
1463
|
const onAbort = () => {
|
|
1451
1464
|
if (!timedOut && !aborted) {
|
|
1452
1465
|
aborted = true;
|
|
1453
|
-
void terminateProcessTree(proc, { exited: () => exited });
|
|
1466
|
+
void terminateProcessTree(proc, { exited: () => exited, immediate: true });
|
|
1454
1467
|
}
|
|
1455
1468
|
};
|
|
1456
1469
|
signal?.addEventListener("abort", onAbort);
|
|
@@ -2404,12 +2417,13 @@ async function runTopLevelAgentLoop(config, turnMetrics) {
|
|
|
2404
2417
|
...instructionContent2 ? { customInstructions: instructionContent2 } : {},
|
|
2405
2418
|
...skills2.length > 0 ? { skills: skills2 } : {}
|
|
2406
2419
|
});
|
|
2420
|
+
const modelSettings2 = sessionManager.getCurrentModelSettings(sessionId);
|
|
2407
2421
|
await llmClient.complete({
|
|
2408
2422
|
messages: [{ role: "system", content: assembledRequest2.systemPrompt }],
|
|
2409
2423
|
tools: assembledRequest2.tools,
|
|
2410
2424
|
maxTokens: 1,
|
|
2411
2425
|
temperature: 0,
|
|
2412
|
-
|
|
2426
|
+
...modelSettings2 ? { modelSettings: modelSettings2 } : {}
|
|
2413
2427
|
});
|
|
2414
2428
|
return {};
|
|
2415
2429
|
}
|
|
@@ -2468,7 +2482,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
2468
2482
|
const previousContextTokens = contextState.currentTokens;
|
|
2469
2483
|
const contextWindow = sessionManager.getCurrentModelContext();
|
|
2470
2484
|
const availableForOutput = Math.max(256, contextWindow - contextState.currentTokens);
|
|
2471
|
-
let modelSettings = currentMaxTokensOverride !== void 0 ? { ...sessionManager.getCurrentModelSettings(), maxTokens: currentMaxTokensOverride } : sessionManager.getCurrentModelSettings();
|
|
2485
|
+
let modelSettings = currentMaxTokensOverride !== void 0 ? { ...sessionManager.getCurrentModelSettings(sessionId), maxTokens: currentMaxTokensOverride } : sessionManager.getCurrentModelSettings(sessionId);
|
|
2472
2486
|
if (modelSettings) {
|
|
2473
2487
|
const requestedMaxTokens = modelSettings.maxTokens ?? 16384;
|
|
2474
2488
|
modelSettings = { ...modelSettings, maxTokens: Math.min(requestedMaxTokens, availableForOutput) };
|
|
@@ -3411,7 +3425,7 @@ var callSubAgentTool = {
|
|
|
3411
3425
|
};
|
|
3412
3426
|
}
|
|
3413
3427
|
try {
|
|
3414
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
3428
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-L2SMYKJZ.js");
|
|
3415
3429
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
3416
3430
|
const turnMetrics = new TurnMetrics();
|
|
3417
3431
|
const result = await executeSubAgent({
|
|
@@ -4227,7 +4241,7 @@ function resolveAgentDef2(sessionManager, sessionId) {
|
|
|
4227
4241
|
}
|
|
4228
4242
|
async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
4229
4243
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
4230
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
4244
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-L2SMYKJZ.js");
|
|
4231
4245
|
const tools = getToolRegistryForAgent2(agentDef).definitions;
|
|
4232
4246
|
const toolFingerprint = getToolFingerprint(tools);
|
|
4233
4247
|
const allAgents = await loadAllAgentsDefault();
|
|
@@ -4240,7 +4254,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
|
4240
4254
|
async function computeSessionHash(sessionManager, sessionId) {
|
|
4241
4255
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
4242
4256
|
const agentDef = await resolveAgentDef2(sessionManager, sessionId);
|
|
4243
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
4257
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-L2SMYKJZ.js");
|
|
4244
4258
|
const tools = getToolRegistryForAgent2(agentDef).definitions;
|
|
4245
4259
|
const toolFingerprint = getToolFingerprint(tools);
|
|
4246
4260
|
return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
|
|
@@ -4347,7 +4361,7 @@ var mcpConfigTool = createTool(
|
|
|
4347
4361
|
await saveGlobalConfig(mcpConfigMode, { ...globalConfig, mcpServers: updated });
|
|
4348
4362
|
}
|
|
4349
4363
|
async function rebuildTools() {
|
|
4350
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
4364
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-L2SMYKJZ.js");
|
|
4351
4365
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
4352
4366
|
setMcpTools2(mcpTools);
|
|
4353
4367
|
}
|
|
@@ -5017,4 +5031,4 @@ export {
|
|
|
5017
5031
|
getToolRegistryForAgent,
|
|
5018
5032
|
createToolRegistry
|
|
5019
5033
|
};
|
|
5020
|
-
//# sourceMappingURL=chunk-
|
|
5034
|
+
//# sourceMappingURL=chunk-AGXBUC4M.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
removeProcess,
|
|
9
9
|
startProcess,
|
|
10
10
|
updateStatus
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ADOXTORQ.js";
|
|
12
12
|
|
|
13
13
|
// src/server/tools/background-process/manager.ts
|
|
14
14
|
import { spawn } from "child_process";
|
|
@@ -153,4 +153,4 @@ export {
|
|
|
153
153
|
getSessionProcesses2 as getSessionProcesses,
|
|
154
154
|
getProcessLogs
|
|
155
155
|
};
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
156
|
+
//# sourceMappingURL=chunk-BIWVYBIE.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
injectWorkflowKickoffIfNeeded,
|
|
3
3
|
runAgentTurn,
|
|
4
4
|
runChatTurn
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-WI6HGJ27.js";
|
|
6
6
|
import {
|
|
7
7
|
applyDynamicContext,
|
|
8
8
|
checkAborted,
|
|
@@ -16,11 +16,11 @@ import {
|
|
|
16
16
|
loadAllAgentsDefault,
|
|
17
17
|
saveItemToDir,
|
|
18
18
|
spawnShellProcess
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-AGXBUC4M.js";
|
|
20
20
|
import {
|
|
21
21
|
getPlatformShell,
|
|
22
22
|
onProcessEvent
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BIWVYBIE.js";
|
|
24
24
|
import {
|
|
25
25
|
createChatErrorMessage,
|
|
26
26
|
createChatMessageMessage,
|
|
@@ -2091,4 +2091,4 @@ export {
|
|
|
2091
2091
|
signalMcpReady,
|
|
2092
2092
|
createWebSocketServer
|
|
2093
2093
|
};
|
|
2094
|
-
//# sourceMappingURL=chunk-
|
|
2094
|
+
//# sourceMappingURL=chunk-DQCEXCDD.js.map
|
|
@@ -208,7 +208,7 @@ async function runCli(options) {
|
|
|
208
208
|
if (!configExists) {
|
|
209
209
|
await runNetworkSetup(mode);
|
|
210
210
|
}
|
|
211
|
-
const { runServe } = await import("./serve-
|
|
211
|
+
const { runServe } = await import("./serve-WFQT6BP6.js");
|
|
212
212
|
const serveOptions = { mode };
|
|
213
213
|
if (values.port) serveOptions.port = parseInt(values.port);
|
|
214
214
|
if (values["no-browser"] === true) serveOptions.openBrowser = false;
|
|
@@ -220,4 +220,4 @@ async function runCli(options) {
|
|
|
220
220
|
export {
|
|
221
221
|
runCli
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-F7M2W46Q.js.map
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
loadAllAgentsDefault,
|
|
13
13
|
processEventsForConversation,
|
|
14
14
|
runTopLevelAgentLoop
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-AGXBUC4M.js";
|
|
16
16
|
import {
|
|
17
17
|
TurnMetrics,
|
|
18
18
|
WORKFLOW_KICKOFF_PROMPT,
|
|
@@ -324,4 +324,4 @@ export {
|
|
|
324
324
|
runAgentTurn,
|
|
325
325
|
injectWorkflowKickoffIfNeeded
|
|
326
326
|
};
|
|
327
|
-
//# sourceMappingURL=chunk-
|
|
327
|
+
//# sourceMappingURL=chunk-WI6HGJ27.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
onProcessEvent,
|
|
7
7
|
startProcessCommand,
|
|
8
8
|
stopProcess
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-BIWVYBIE.js";
|
|
10
|
+
import "./chunk-ADOXTORQ.js";
|
|
11
11
|
import "./chunk-5WRI5ZAA.js";
|
|
12
12
|
export {
|
|
13
13
|
createProcess,
|
|
@@ -18,4 +18,4 @@ export {
|
|
|
18
18
|
startProcessCommand,
|
|
19
19
|
stopProcess
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=manager-
|
|
21
|
+
//# sourceMappingURL=manager-CZOVNTSN.js.map
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
injectWorkflowKickoffIfNeeded,
|
|
3
3
|
runAgentTurn,
|
|
4
4
|
runChatTurn
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-WI6HGJ27.js";
|
|
6
|
+
import "./chunk-AGXBUC4M.js";
|
|
7
7
|
import "./chunk-LBGHZLLH.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-BIWVYBIE.js";
|
|
9
|
+
import "./chunk-ADOXTORQ.js";
|
|
10
10
|
import "./chunk-NWO6GRYE.js";
|
|
11
11
|
import "./chunk-F4PMNP7S.js";
|
|
12
12
|
import "./chunk-EU3WWTFH.js";
|
|
@@ -43,4 +43,4 @@ export {
|
|
|
43
43
|
runAgentTurn,
|
|
44
44
|
runChatTurn
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=orchestrator-
|
|
46
|
+
//# sourceMappingURL=orchestrator-YMNKXVDF.js.map
|
package/dist/package.json
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
5
|
} from "./chunk-UOKVBO67.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-AGXBUC4M.js";
|
|
7
7
|
import "./chunk-LBGHZLLH.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-BIWVYBIE.js";
|
|
9
|
+
import "./chunk-ADOXTORQ.js";
|
|
10
10
|
import "./chunk-NWO6GRYE.js";
|
|
11
11
|
import {
|
|
12
12
|
createChatMessageMessage,
|
|
@@ -174,7 +174,7 @@ var QueueProcessor = class {
|
|
|
174
174
|
backend: provider?.backend ?? llmClient.getBackend(),
|
|
175
175
|
model: llmClient.getModel()
|
|
176
176
|
};
|
|
177
|
-
const { runChatTurn } = await import("./orchestrator-
|
|
177
|
+
const { runChatTurn } = await import("./orchestrator-YMNKXVDF.js");
|
|
178
178
|
const runChatTurnParams = buildRunChatTurnParams({
|
|
179
179
|
sessionManager,
|
|
180
180
|
sessionId,
|
|
@@ -222,4 +222,4 @@ var QueueProcessor = class {
|
|
|
222
222
|
export {
|
|
223
223
|
QueueProcessor
|
|
224
224
|
};
|
|
225
|
-
//# sourceMappingURL=processor-
|
|
225
|
+
//# sourceMappingURL=processor-2BB65JWR.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION,
|
|
3
3
|
createServer
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-5HOP4QF7.js";
|
|
5
|
+
import "./chunk-DQCEXCDD.js";
|
|
6
|
+
import "./chunk-WI6HGJ27.js";
|
|
7
|
+
import "./chunk-AGXBUC4M.js";
|
|
8
8
|
import "./chunk-LBGHZLLH.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-BIWVYBIE.js";
|
|
10
|
+
import "./chunk-ADOXTORQ.js";
|
|
11
11
|
import "./chunk-NWO6GRYE.js";
|
|
12
12
|
import "./chunk-F4PMNP7S.js";
|
|
13
13
|
import "./chunk-EU3WWTFH.js";
|
|
@@ -205,4 +205,4 @@ async function runServe(options) {
|
|
|
205
205
|
export {
|
|
206
206
|
runServe
|
|
207
207
|
};
|
|
208
|
-
//# sourceMappingURL=serve-
|
|
208
|
+
//# sourceMappingURL=serve-WFQT6BP6.js.map
|
package/dist/server/index.d.ts
CHANGED
|
@@ -401,7 +401,7 @@ declare class SessionManager {
|
|
|
401
401
|
private debugDumpStore;
|
|
402
402
|
private warmedUpSessions;
|
|
403
403
|
constructor(providerManager: ProviderManager);
|
|
404
|
-
getCurrentModelSettings(): {
|
|
404
|
+
getCurrentModelSettings(sessionId?: string): {
|
|
405
405
|
temperature?: number;
|
|
406
406
|
topP?: number;
|
|
407
407
|
topK?: number;
|
|
@@ -544,7 +544,7 @@ declare class SessionManager {
|
|
|
544
544
|
removeCriterion(sessionId: string, criterionId: string): Criterion[];
|
|
545
545
|
setMetadataEntries(sessionId: string, key: string, entries: MetadataEntry[]): void;
|
|
546
546
|
private messageQueues;
|
|
547
|
-
queueMessage(sessionId: string, mode: 'asap' | 'completion', content
|
|
547
|
+
queueMessage(sessionId: string, mode: 'asap' | 'completion', content?: string, attachments?: Attachment[], messageKind?: string): QueuedMessage;
|
|
548
548
|
cancelQueuedMessage(sessionId: string, queueId: string): boolean;
|
|
549
549
|
drainAsapMessages(sessionId: string): QueuedMessage[];
|
|
550
550
|
drainCompletionMessages(sessionId: string): QueuedMessage[];
|