openfox 2.0.74 → 2.0.76
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/README.md +5 -2
- package/dist/{chat-handler-ETKFIHUO.js → chat-handler-3BZ4PDL2.js} +17 -16
- package/dist/chunk-46RORSKU.js +495 -0
- package/dist/{chunk-S7O77CVO.js → chunk-4QHDQP2N.js} +2 -2
- package/dist/{chunk-YD6NDTKF.js → chunk-5GOOSZX7.js} +1 -1
- package/dist/{chunk-XWBNYU2L.js → chunk-7772ENZN.js} +4 -3
- package/dist/{chunk-I4RWK2L2.js → chunk-7QXRQ5ZL.js} +3 -3
- package/dist/{chunk-2VBETAU2.js → chunk-D6CI2B7B.js} +111 -539
- package/dist/{chunk-E5LLEO3C.js → chunk-DH3SSBZN.js} +2 -2
- package/dist/{chunk-CHPRGEY5.js → chunk-HAQV6AJP.js} +3 -3
- package/dist/{chunk-R6L2QXQ5.js → chunk-HHUIXHHX.js} +16 -6
- package/dist/{chunk-ZRQDCQ7R.js → chunk-HLHGNHMV.js} +10 -8
- package/dist/{chunk-QFR6JF32.js → chunk-J7VCI5EX.js} +205 -82
- package/dist/chunk-KQEVAO2Q.js +7 -0
- package/dist/{chunk-UN26GIQG.js → chunk-KVRSAC4Z.js} +1 -1
- package/dist/{chunk-UV3EMWL4.js → chunk-LXFLRM7M.js} +2 -2
- package/dist/{chunk-6XKM25OT.js → chunk-NGJ5XJ7D.js} +4 -4
- package/dist/{chunk-NOU2QIL5.js → chunk-O3NUNU4H.js} +5 -2
- package/dist/{chunk-PYB2UEC3.js → chunk-OBQPXUXI.js} +4 -4
- package/dist/{chunk-OHGQILRF.js → chunk-OCVRIPQP.js} +2 -2
- package/dist/{chunk-TMRFTWXP.js → chunk-OMWVB2XC.js} +38 -23
- package/dist/{chunk-6XOA2WPU.js → chunk-W4ZEG3LX.js} +5 -2
- package/dist/{chunk-2DCJERYX.js → chunk-XTK6E2QR.js} +4 -4
- package/dist/{chunk-QNKXZH3Z.js → chunk-YMFCFMMB.js} +2 -2
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-SC6X65GY.js → client-TDPQVBQ7.js} +2 -2
- package/dist/{compactor-4UKYWC5F.js → compactor-BB3YYVRP.js} +7 -7
- package/dist/{events-AEQ6GQXI.js → events-FLWRLM6V.js} +3 -3
- package/dist/{inspect-proxy-PHVZBZUO.js → inspect-proxy-JHZV34QR.js} +4 -4
- package/dist/install-CPOPMCSE.js +120 -0
- package/dist/{manager-24C2AXVF.js → manager-OPMCSYN2.js} +5 -5
- package/dist/{orchestrator-O2YAAZ3U.js → orchestrator-5IMCWX5P.js} +16 -15
- package/dist/package.json +1 -1
- package/dist/path-security-ZROWNL22.js +50 -0
- package/dist/{platform-XQ7BS3KQ.js → platform-QGXO3CNR.js} +4 -4
- package/dist/plugins-registry.json +6 -0
- package/dist/{processor-FKAS3K4L.js → processor-3R4GS6VB.js} +17 -16
- package/dist/{project-creator-FQRBN3RG.js → project-creator-C22J43BC.js} +3 -3
- package/dist/{projects-LHRNCUGW.js → projects-WSVINK2C.js} +3 -3
- package/dist/{protocol-4QFU7WAI.js → protocol-EWEVW65B.js} +3 -3
- package/dist/{protocol-DGQWVFcP.d.ts → protocol-Sr6Jr4ZS.d.ts} +5 -2
- package/dist/{provider-OJUCZ5RN.js → provider-G2YC2IC4.js} +3 -3
- package/dist/{provider-manager-MAKXSL6L.js → provider-manager-SQIELYLK.js} +3 -3
- package/dist/{serve-T5U6SLB7.js → serve-MXKMKZYY.js} +22 -21
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +21 -20
- package/dist/{server-T2YP3VT2.js → server-SPYFMFQE.js} +18 -17
- package/dist/{settings-PFXRYXZU.js → settings-7XDMSPIC.js} +3 -3
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/{tools-APW7MY4E.js → tools-JRCUWPJO.js} +20 -18
- package/dist/{update-FWO365SV.js → update-OXDQ75M7.js} +12 -3
- package/dist/{update-server-MYYQUNZX.js → update-server-4MTM7M5P.js} +2 -2
- package/dist/web/assets/{index-DZRcUhoE.css → index-BNVBxKnB.css} +1 -1
- package/dist/web/assets/{index-Xh2VHbZe.js → index-ghDkIdlf.js} +74 -74
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/plugins-registry.json +6 -0
- package/dist/chunk-3OZBPWHP.js +0 -7
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
tokenFromPassword,
|
|
22
22
|
verifyPassword,
|
|
23
23
|
workflowExists
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-OMWVB2XC.js";
|
|
25
25
|
import {
|
|
26
26
|
agentExists,
|
|
27
27
|
createToolRegistry,
|
|
@@ -66,7 +66,10 @@ import {
|
|
|
66
66
|
setSkillEnabled,
|
|
67
67
|
skillExists,
|
|
68
68
|
updateOwnedSkill
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-D6CI2B7B.js";
|
|
70
|
+
import {
|
|
71
|
+
createMcpTools
|
|
72
|
+
} from "./chunk-NWO6GRYE.js";
|
|
70
73
|
import {
|
|
71
74
|
deleteWorkspace,
|
|
72
75
|
ensureWorkspace,
|
|
@@ -86,16 +89,22 @@ import {
|
|
|
86
89
|
ALWAYS_ALLOWED,
|
|
87
90
|
ALWAYS_ALLOWED_FOR_SUBAGENTS,
|
|
88
91
|
TOP_LEVEL_ONLY_TOOLS
|
|
89
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-7772ENZN.js";
|
|
90
93
|
import {
|
|
91
94
|
getProject
|
|
92
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-LXFLRM7M.js";
|
|
93
96
|
import {
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
getPathSeparator,
|
|
98
|
+
isAbsolutePath
|
|
99
|
+
} from "./chunk-4QHDQP2N.js";
|
|
100
|
+
import {
|
|
101
|
+
deleteSetting,
|
|
102
|
+
getSetting,
|
|
103
|
+
setSetting
|
|
104
|
+
} from "./chunk-YMFCFMMB.js";
|
|
96
105
|
import {
|
|
97
106
|
VERSION
|
|
98
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-KQEVAO2Q.js";
|
|
99
108
|
import {
|
|
100
109
|
createSession,
|
|
101
110
|
deleteSession,
|
|
@@ -123,28 +132,19 @@ import {
|
|
|
123
132
|
updateSessionProvider,
|
|
124
133
|
updateSessionRunning,
|
|
125
134
|
updateSessionWorkdir
|
|
126
|
-
} from "./chunk-
|
|
127
|
-
import {
|
|
128
|
-
createContextStateMessage
|
|
129
|
-
} from "./chunk-NOU2QIL5.js";
|
|
130
|
-
import {
|
|
131
|
-
getPathSeparator,
|
|
132
|
-
isAbsolutePath
|
|
133
|
-
} from "./chunk-S7O77CVO.js";
|
|
134
|
-
import {
|
|
135
|
-
deleteSetting,
|
|
136
|
-
getSetting,
|
|
137
|
-
setSetting
|
|
138
|
-
} from "./chunk-QNKXZH3Z.js";
|
|
135
|
+
} from "./chunk-NGJ5XJ7D.js";
|
|
139
136
|
import {
|
|
140
137
|
initDatabase
|
|
141
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-7QXRQ5ZL.js";
|
|
139
|
+
import {
|
|
140
|
+
createContextStateMessage
|
|
141
|
+
} from "./chunk-O3NUNU4H.js";
|
|
142
142
|
import {
|
|
143
143
|
createProviderManager,
|
|
144
144
|
detectModel,
|
|
145
145
|
getLlmStatus,
|
|
146
146
|
parseDefaultModelSelection
|
|
147
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-OCVRIPQP.js";
|
|
148
148
|
import {
|
|
149
149
|
getModelProfile
|
|
150
150
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -163,7 +163,7 @@ import {
|
|
|
163
163
|
} from "./chunk-K44MW7JJ.js";
|
|
164
164
|
import {
|
|
165
165
|
createServerMessage
|
|
166
|
-
} from "./chunk-
|
|
166
|
+
} from "./chunk-5GOOSZX7.js";
|
|
167
167
|
import {
|
|
168
168
|
getGlobalConfigDir
|
|
169
169
|
} from "./chunk-CQGTEGKL.js";
|
|
@@ -4221,6 +4221,16 @@ function createDirectoryRoutes() {
|
|
|
4221
4221
|
// src/server/routes/file-search.ts
|
|
4222
4222
|
import { Router as Router8 } from "express";
|
|
4223
4223
|
import fg from "fast-glob";
|
|
4224
|
+
var IGNORED_PATTERNS = [
|
|
4225
|
+
"**/node_modules/**",
|
|
4226
|
+
"**/.git/**",
|
|
4227
|
+
"**/dist/**",
|
|
4228
|
+
"**/.next/**",
|
|
4229
|
+
"**/.cache/**",
|
|
4230
|
+
"**/__pycache__/**",
|
|
4231
|
+
"**/*.lock",
|
|
4232
|
+
"**/.openfox/**"
|
|
4233
|
+
];
|
|
4224
4234
|
function createFileSearchRoutes() {
|
|
4225
4235
|
const router = Router8();
|
|
4226
4236
|
router.get("/", async (req, res) => {
|
|
@@ -4236,21 +4246,15 @@ function createFileSearchRoutes() {
|
|
|
4236
4246
|
return router;
|
|
4237
4247
|
}
|
|
4238
4248
|
async function searchFiles(query, workdir) {
|
|
4249
|
+
if (query.endsWith("/")) {
|
|
4250
|
+
return listDirectoryContents(query, workdir);
|
|
4251
|
+
}
|
|
4239
4252
|
const entries = await fg(["**/*"], {
|
|
4240
4253
|
cwd: workdir,
|
|
4241
4254
|
dot: true,
|
|
4242
|
-
deep:
|
|
4255
|
+
deep: 32,
|
|
4243
4256
|
onlyFiles: false,
|
|
4244
|
-
ignore:
|
|
4245
|
-
"**/node_modules/**",
|
|
4246
|
-
"**/.git/**",
|
|
4247
|
-
"**/dist/**",
|
|
4248
|
-
"**/.next/**",
|
|
4249
|
-
"**/.cache/**",
|
|
4250
|
-
"**/__pycache__/**",
|
|
4251
|
-
"**/*.lock",
|
|
4252
|
-
"**/.openfox/**"
|
|
4253
|
-
],
|
|
4257
|
+
ignore: IGNORED_PATTERNS,
|
|
4254
4258
|
objectMode: true
|
|
4255
4259
|
});
|
|
4256
4260
|
const scored = [];
|
|
@@ -4274,6 +4278,28 @@ async function searchFiles(query, workdir) {
|
|
|
4274
4278
|
scored.sort((a, b) => b.score - a.score);
|
|
4275
4279
|
return scored.slice(0, 20);
|
|
4276
4280
|
}
|
|
4281
|
+
async function listDirectoryContents(query, workdir) {
|
|
4282
|
+
const dirPath = query.slice(0, -1).replace(/\/+/g, "/");
|
|
4283
|
+
const pattern = dirPath ? `${dirPath}/*` : "*";
|
|
4284
|
+
const entries = await fg([pattern], {
|
|
4285
|
+
cwd: workdir,
|
|
4286
|
+
dot: true,
|
|
4287
|
+
onlyFiles: false,
|
|
4288
|
+
ignore: IGNORED_PATTERNS,
|
|
4289
|
+
objectMode: true
|
|
4290
|
+
});
|
|
4291
|
+
const results = entries.map((entry) => {
|
|
4292
|
+
const isDir = entry.dirent.isDirectory();
|
|
4293
|
+
return {
|
|
4294
|
+
path: entry.path,
|
|
4295
|
+
name: entry.path.split("/").pop() || entry.path,
|
|
4296
|
+
type: isDir ? "directory" : "file",
|
|
4297
|
+
score: isDir ? 110 : 100
|
|
4298
|
+
};
|
|
4299
|
+
});
|
|
4300
|
+
results.sort((a, b) => b.score - a.score);
|
|
4301
|
+
return results.slice(0, 20);
|
|
4302
|
+
}
|
|
4277
4303
|
function fuzzyScore(filePath, query) {
|
|
4278
4304
|
if (!query) {
|
|
4279
4305
|
return 1;
|
|
@@ -4932,6 +4958,53 @@ function createPluginRoutes(options) {
|
|
|
4932
4958
|
return router;
|
|
4933
4959
|
}
|
|
4934
4960
|
|
|
4961
|
+
// src/server/utils/wsl.ts
|
|
4962
|
+
import { readFileSync as readFileSync3 } from "fs";
|
|
4963
|
+
var cached = null;
|
|
4964
|
+
function readEtcOsRelease() {
|
|
4965
|
+
try {
|
|
4966
|
+
const content = readFileSync3("/etc/os-release", "utf-8");
|
|
4967
|
+
const result = {};
|
|
4968
|
+
for (const line of content.split("\n")) {
|
|
4969
|
+
const m = line.match(/^([A-Za-z_][A-Za-z_0-9]*)=(.*)$/);
|
|
4970
|
+
if (m) {
|
|
4971
|
+
let val = m[2] ?? "";
|
|
4972
|
+
if (val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'")) {
|
|
4973
|
+
val = val.slice(1, -1);
|
|
4974
|
+
}
|
|
4975
|
+
result[m[1]] = val;
|
|
4976
|
+
}
|
|
4977
|
+
}
|
|
4978
|
+
return result;
|
|
4979
|
+
} catch {
|
|
4980
|
+
return null;
|
|
4981
|
+
}
|
|
4982
|
+
}
|
|
4983
|
+
function detectWsl() {
|
|
4984
|
+
if (cached) return cached;
|
|
4985
|
+
if (process.platform === "win32") {
|
|
4986
|
+
cached = { isWSL: false, wslDistro: "" };
|
|
4987
|
+
return cached;
|
|
4988
|
+
}
|
|
4989
|
+
const distro = process.env["WSL_DISTRO_NAME"];
|
|
4990
|
+
if (distro) {
|
|
4991
|
+
cached = { isWSL: true, wslDistro: distro };
|
|
4992
|
+
return cached;
|
|
4993
|
+
}
|
|
4994
|
+
try {
|
|
4995
|
+
const osrelease = readFileSync3("/proc/sys/kernel/osrelease", "utf-8");
|
|
4996
|
+
if (osrelease.toLowerCase().includes("wsl") || osrelease.toLowerCase().includes("microsoft")) {
|
|
4997
|
+
const osInfo = readEtcOsRelease();
|
|
4998
|
+
const name = osInfo?.["NAME"] ?? "Ubuntu";
|
|
4999
|
+
cached = { isWSL: true, wslDistro: name };
|
|
5000
|
+
return cached;
|
|
5001
|
+
}
|
|
5002
|
+
} catch {
|
|
5003
|
+
}
|
|
5004
|
+
cached = { isWSL: false, wslDistro: "" };
|
|
5005
|
+
return cached;
|
|
5006
|
+
}
|
|
5007
|
+
|
|
4935
5008
|
// src/server/index.ts
|
|
4936
5009
|
var __dirname3 = dirname8(fileURLToPath7(import.meta.url));
|
|
4937
5010
|
async function createServerHandle(config3) {
|
|
@@ -4960,6 +5033,7 @@ async function createServerHandle(config3) {
|
|
|
4960
5033
|
if (useMock) {
|
|
4961
5034
|
logger.info("Using MOCK LLM client - deterministic responses for testing");
|
|
4962
5035
|
}
|
|
5036
|
+
const platformInfo = detectWsl();
|
|
4963
5037
|
async function initLLM() {
|
|
4964
5038
|
const llmClient = getLLMClient();
|
|
4965
5039
|
const backend = config3.llm.backend;
|
|
@@ -5030,7 +5104,7 @@ async function createServerHandle(config3) {
|
|
|
5030
5104
|
setMcpTools(mcpTools);
|
|
5031
5105
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
5032
5106
|
}
|
|
5033
|
-
const { signalMcpReady } = await import("./server-
|
|
5107
|
+
const { signalMcpReady } = await import("./server-SPYFMFQE.js");
|
|
5034
5108
|
signalMcpReady();
|
|
5035
5109
|
});
|
|
5036
5110
|
const app = express();
|
|
@@ -5092,7 +5166,7 @@ async function createServerHandle(config3) {
|
|
|
5092
5166
|
res.json({ tools });
|
|
5093
5167
|
});
|
|
5094
5168
|
app.get("/api/projects", async (_req, res) => {
|
|
5095
|
-
const { listProjects } = await import("./projects-
|
|
5169
|
+
const { listProjects } = await import("./projects-WSVINK2C.js");
|
|
5096
5170
|
const projects = listProjects();
|
|
5097
5171
|
res.json({ projects });
|
|
5098
5172
|
});
|
|
@@ -5101,7 +5175,7 @@ async function createServerHandle(config3) {
|
|
|
5101
5175
|
if (!name || !workdir) {
|
|
5102
5176
|
return res.status(400).json({ error: "name and workdir are required" });
|
|
5103
5177
|
}
|
|
5104
|
-
const { createDirectoryWithGit } = await import("./project-creator-
|
|
5178
|
+
const { createDirectoryWithGit } = await import("./project-creator-C22J43BC.js");
|
|
5105
5179
|
try {
|
|
5106
5180
|
const project = await createDirectoryWithGit(name, workdir);
|
|
5107
5181
|
res.status(201).json({ project });
|
|
@@ -5146,7 +5220,7 @@ async function createServerHandle(config3) {
|
|
|
5146
5220
|
}
|
|
5147
5221
|
});
|
|
5148
5222
|
app.get("/api/projects/:id", async (req, res) => {
|
|
5149
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
5223
|
+
const { getProject: getProject2 } = await import("./projects-WSVINK2C.js");
|
|
5150
5224
|
const project = getProject2(req.params.id);
|
|
5151
5225
|
if (!project) {
|
|
5152
5226
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -5154,7 +5228,7 @@ async function createServerHandle(config3) {
|
|
|
5154
5228
|
res.json({ project });
|
|
5155
5229
|
});
|
|
5156
5230
|
app.put("/api/projects/:id", async (req, res) => {
|
|
5157
|
-
const { updateProject } = await import("./projects-
|
|
5231
|
+
const { updateProject } = await import("./projects-WSVINK2C.js");
|
|
5158
5232
|
const { name, customInstructions, dangerLevel } = req.body;
|
|
5159
5233
|
const updates = {};
|
|
5160
5234
|
if (name !== void 0) updates.name = name;
|
|
@@ -5167,7 +5241,7 @@ async function createServerHandle(config3) {
|
|
|
5167
5241
|
res.json({ project: updated });
|
|
5168
5242
|
});
|
|
5169
5243
|
app.delete("/api/projects/:id", async (req, res) => {
|
|
5170
|
-
const { getProject: getProject2, deleteProject } = await import("./projects-
|
|
5244
|
+
const { getProject: getProject2, deleteProject } = await import("./projects-WSVINK2C.js");
|
|
5171
5245
|
const project = getProject2(req.params.id);
|
|
5172
5246
|
if (!project) {
|
|
5173
5247
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -5176,7 +5250,7 @@ async function createServerHandle(config3) {
|
|
|
5176
5250
|
res.json({ success: true });
|
|
5177
5251
|
});
|
|
5178
5252
|
app.put("/api/projects/:id/star", async (req, res) => {
|
|
5179
|
-
const { toggleStar } = await import("./projects-
|
|
5253
|
+
const { toggleStar } = await import("./projects-WSVINK2C.js");
|
|
5180
5254
|
const { isStarred } = req.body;
|
|
5181
5255
|
if (typeof isStarred !== "boolean") {
|
|
5182
5256
|
return res.status(400).json({ error: "isStarred is required and must be a boolean" });
|
|
@@ -5188,7 +5262,7 @@ async function createServerHandle(config3) {
|
|
|
5188
5262
|
res.json({ project });
|
|
5189
5263
|
});
|
|
5190
5264
|
app.get("/api/projects/:id/branches", async (req, res) => {
|
|
5191
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
5265
|
+
const { getProject: getProject2 } = await import("./projects-WSVINK2C.js");
|
|
5192
5266
|
const project = getProject2(req.params.id);
|
|
5193
5267
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
5194
5268
|
const { listBranches } = await import("./workspace-6QTTUMMW.js");
|
|
@@ -5196,7 +5270,7 @@ async function createServerHandle(config3) {
|
|
|
5196
5270
|
res.json({ branches });
|
|
5197
5271
|
});
|
|
5198
5272
|
app.post("/api/projects/:id/checkout", async (req, res) => {
|
|
5199
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
5273
|
+
const { getProject: getProject2 } = await import("./projects-WSVINK2C.js");
|
|
5200
5274
|
const project = getProject2(req.params.id);
|
|
5201
5275
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
5202
5276
|
const { branch } = req.body;
|
|
@@ -5210,7 +5284,7 @@ async function createServerHandle(config3) {
|
|
|
5210
5284
|
}
|
|
5211
5285
|
});
|
|
5212
5286
|
app.post("/api/projects/:id/checkout-new", async (req, res) => {
|
|
5213
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
5287
|
+
const { getProject: getProject2 } = await import("./projects-WSVINK2C.js");
|
|
5214
5288
|
const project = getProject2(req.params.id);
|
|
5215
5289
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
5216
5290
|
const { name } = req.body;
|
|
@@ -5262,7 +5336,7 @@ async function createServerHandle(config3) {
|
|
|
5262
5336
|
}
|
|
5263
5337
|
});
|
|
5264
5338
|
app.get("/api/projects/:id/workspaces", async (req, res) => {
|
|
5265
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
5339
|
+
const { getProject: getProject2 } = await import("./projects-WSVINK2C.js");
|
|
5266
5340
|
const project = getProject2(req.params.id);
|
|
5267
5341
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
5268
5342
|
const { listWorkspaces } = await import("./workspace-6QTTUMMW.js");
|
|
@@ -5271,7 +5345,8 @@ async function createServerHandle(config3) {
|
|
|
5271
5345
|
res.json({ workspaces: workspacesList });
|
|
5272
5346
|
});
|
|
5273
5347
|
app.get("/api/sessions", async (req, res) => {
|
|
5274
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
5348
|
+
const { getRecentUserPromptsForSession } = await import("./events-FLWRLM6V.js");
|
|
5349
|
+
const { getPendingConfirmationsBySession } = await import("./path-security-ZROWNL22.js");
|
|
5275
5350
|
const projectId = req.query["projectId"];
|
|
5276
5351
|
const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
|
|
5277
5352
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -5288,7 +5363,15 @@ async function createServerHandle(config3) {
|
|
|
5288
5363
|
...session,
|
|
5289
5364
|
recentUserPrompts: getRecentUserPromptsForSession(session.id, 10)
|
|
5290
5365
|
}));
|
|
5291
|
-
|
|
5366
|
+
const allPending = getPendingConfirmationsBySession();
|
|
5367
|
+
const pendingConfirmationsBySession = {};
|
|
5368
|
+
for (const s of sessions) {
|
|
5369
|
+
const confs = allPending[s.id];
|
|
5370
|
+
if (confs) {
|
|
5371
|
+
pendingConfirmationsBySession[s.id] = confs;
|
|
5372
|
+
}
|
|
5373
|
+
}
|
|
5374
|
+
res.json({ sessions: sessionsWithPrompts, hasMore, pendingConfirmationsBySession });
|
|
5292
5375
|
});
|
|
5293
5376
|
app.post("/api/sessions", async (req, res) => {
|
|
5294
5377
|
const { projectId, title } = req.body;
|
|
@@ -5301,6 +5384,29 @@ async function createServerHandle(config3) {
|
|
|
5301
5384
|
}
|
|
5302
5385
|
const { providerId, model } = parseDefaultModelSelection(config3.defaultModelSelection);
|
|
5303
5386
|
const session = sessionManager.createSession(projectId, title, providerId ?? null, model ?? null);
|
|
5387
|
+
wssExports.broadcastAll({
|
|
5388
|
+
type: "session.created",
|
|
5389
|
+
sessionId: session.id,
|
|
5390
|
+
payload: {
|
|
5391
|
+
session: {
|
|
5392
|
+
id: session.id,
|
|
5393
|
+
projectId: session.projectId,
|
|
5394
|
+
title: session.metadata.title,
|
|
5395
|
+
workdir: session.workdir,
|
|
5396
|
+
workspace: session.workspace,
|
|
5397
|
+
mode: session.mode,
|
|
5398
|
+
phase: session.phase,
|
|
5399
|
+
isRunning: session.isRunning,
|
|
5400
|
+
providerId: session.providerId,
|
|
5401
|
+
providerModel: session.providerModel,
|
|
5402
|
+
createdAt: session.createdAt,
|
|
5403
|
+
updatedAt: session.updatedAt,
|
|
5404
|
+
criteriaCount: session.criteria.length,
|
|
5405
|
+
criteriaCompleted: session.criteria.filter((c) => c.status.type === "passed").length,
|
|
5406
|
+
messageCount: session.messageCount ?? session.messages.length
|
|
5407
|
+
}
|
|
5408
|
+
}
|
|
5409
|
+
});
|
|
5304
5410
|
res.status(201).json({ session });
|
|
5305
5411
|
});
|
|
5306
5412
|
app.post("/api/sessions/:id/switch-workspace", async (req, res) => {
|
|
@@ -5328,9 +5434,9 @@ async function createServerHandle(config3) {
|
|
|
5328
5434
|
}
|
|
5329
5435
|
});
|
|
5330
5436
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
5331
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
5332
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-ONH3D4OK.js");
|
|
5333
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
5437
|
+
const { getEventStore: getEventStore2 } = await import("./events-FLWRLM6V.js");
|
|
5438
|
+
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ONH3D4OK.js");
|
|
5439
|
+
const { getPendingQuestionsForSession } = await import("./tools-JRCUWPJO.js");
|
|
5334
5440
|
const session = sessionManager.getSession(req.params.id);
|
|
5335
5441
|
if (!session) {
|
|
5336
5442
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -5341,7 +5447,8 @@ async function createServerHandle(config3) {
|
|
|
5341
5447
|
const contextState = sessionManager.getContextState(req.params.id);
|
|
5342
5448
|
const queueState = sessionManager.getQueueState(req.params.id);
|
|
5343
5449
|
const pendingQuestions = getPendingQuestionsForSession(req.params.id);
|
|
5344
|
-
|
|
5450
|
+
const pendingConfirmations = foldPendingConfirmations(events);
|
|
5451
|
+
res.json({ session, messages, contextState, queueState, pendingQuestions, pendingConfirmations });
|
|
5345
5452
|
});
|
|
5346
5453
|
app.delete("/api/sessions/:id", async (req, res) => {
|
|
5347
5454
|
const sessionId = req.params["id"];
|
|
@@ -5349,14 +5456,19 @@ async function createServerHandle(config3) {
|
|
|
5349
5456
|
if (!session) {
|
|
5350
5457
|
return res.status(404).json({ error: "Session not found" });
|
|
5351
5458
|
}
|
|
5352
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
5353
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
5459
|
+
const { stopSessionExecution } = await import("./chat-handler-3BZ4PDL2.js");
|
|
5460
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-JRCUWPJO.js");
|
|
5354
5461
|
sessionManager.clearMessageQueue(sessionId);
|
|
5355
5462
|
stopSessionExecution(sessionId, sessionManager);
|
|
5356
5463
|
abortSession(sessionId);
|
|
5357
5464
|
cancelQuestionsForSession(sessionId, "Session deleted");
|
|
5358
5465
|
cancelPathConfirmationsForSession(sessionId, "Session deleted");
|
|
5359
5466
|
sessionManager.deleteSession(sessionId);
|
|
5467
|
+
wssExports.broadcastAll({
|
|
5468
|
+
type: "session.deleted",
|
|
5469
|
+
sessionId,
|
|
5470
|
+
payload: { sessionId }
|
|
5471
|
+
});
|
|
5360
5472
|
res.json({ success: true });
|
|
5361
5473
|
});
|
|
5362
5474
|
app.delete("/api/projects/:projectId/sessions", (req, res) => {
|
|
@@ -5366,10 +5478,15 @@ async function createServerHandle(config3) {
|
|
|
5366
5478
|
return res.status(404).json({ error: "Project not found" });
|
|
5367
5479
|
}
|
|
5368
5480
|
sessionManager.deleteAllSessions(projectId, project.workdir);
|
|
5481
|
+
wssExports.broadcastAll({
|
|
5482
|
+
type: "session.deletedAll",
|
|
5483
|
+
sessionId: projectId,
|
|
5484
|
+
payload: {}
|
|
5485
|
+
});
|
|
5369
5486
|
res.json({ success: true });
|
|
5370
5487
|
});
|
|
5371
5488
|
app.post("/api/sessions/:id/provider", async (req, res) => {
|
|
5372
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
5489
|
+
const { getEventStore: getEventStore2 } = await import("./events-FLWRLM6V.js");
|
|
5373
5490
|
const { buildMessagesFromStoredEvents } = await import("./folding-ONH3D4OK.js");
|
|
5374
5491
|
const sessionId = req.params.id;
|
|
5375
5492
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -5481,7 +5598,7 @@ async function createServerHandle(config3) {
|
|
|
5481
5598
|
res.json({ success: true });
|
|
5482
5599
|
});
|
|
5483
5600
|
app.put("/api/sessions/:id/mode", async (req, res) => {
|
|
5484
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
5601
|
+
const { getEventStore: getEventStore2 } = await import("./events-FLWRLM6V.js");
|
|
5485
5602
|
const { buildMessagesFromStoredEvents } = await import("./folding-ONH3D4OK.js");
|
|
5486
5603
|
const sessionId = req.params.id;
|
|
5487
5604
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -5538,15 +5655,15 @@ async function createServerHandle(config3) {
|
|
|
5538
5655
|
if (!callId || approved === void 0) {
|
|
5539
5656
|
return res.status(400).json({ error: "callId and approved are required" });
|
|
5540
5657
|
}
|
|
5541
|
-
const { providePathConfirmation } = await import("./tools-
|
|
5658
|
+
const { providePathConfirmation } = await import("./tools-JRCUWPJO.js");
|
|
5542
5659
|
const result = providePathConfirmation(callId, approved, alwaysAllow);
|
|
5543
5660
|
if (!result.found) {
|
|
5544
5661
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
5545
5662
|
}
|
|
5546
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
5663
|
+
const { getEventStore: getEventStore2 } = await import("./events-FLWRLM6V.js");
|
|
5547
5664
|
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-ONH3D4OK.js");
|
|
5548
|
-
const { createSessionStateMessage } = await import("./protocol-
|
|
5549
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
5665
|
+
const { createSessionStateMessage } = await import("./protocol-EWEVW65B.js");
|
|
5666
|
+
const { getPendingQuestionsForSession } = await import("./tools-JRCUWPJO.js");
|
|
5550
5667
|
const eventStore = getEventStore2();
|
|
5551
5668
|
const events = eventStore.getEvents(sessionId);
|
|
5552
5669
|
const messages = buildMessagesFromStoredEvents(events);
|
|
@@ -5557,6 +5674,11 @@ async function createServerHandle(config3) {
|
|
|
5557
5674
|
const stateMsg = createSessionStateMessage(session, messages, pendingConfirmations, pendingQuestions);
|
|
5558
5675
|
wssExports.broadcastForSession(sessionId, { ...stateMsg, sessionId });
|
|
5559
5676
|
}
|
|
5677
|
+
wssExports.broadcastAll({
|
|
5678
|
+
type: "session.confirmation_resolved",
|
|
5679
|
+
sessionId,
|
|
5680
|
+
payload: { sessionId, callId }
|
|
5681
|
+
});
|
|
5560
5682
|
res.json({ success: true });
|
|
5561
5683
|
});
|
|
5562
5684
|
app.post("/api/sessions/:id/answer", async (req, res) => {
|
|
@@ -5567,7 +5689,7 @@ async function createServerHandle(config3) {
|
|
|
5567
5689
|
if (!skip && typeof answer !== "string") {
|
|
5568
5690
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
5569
5691
|
}
|
|
5570
|
-
const { provideAnswer } = await import("./tools-
|
|
5692
|
+
const { provideAnswer } = await import("./tools-JRCUWPJO.js");
|
|
5571
5693
|
const found = provideAnswer(callId, answer ?? "", skip ?? false);
|
|
5572
5694
|
if (!found) {
|
|
5573
5695
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -5595,7 +5717,7 @@ async function createServerHandle(config3) {
|
|
|
5595
5717
|
if (!session) {
|
|
5596
5718
|
return res.status(404).json({ error: "Session not found" });
|
|
5597
5719
|
}
|
|
5598
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
5720
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-7XDMSPIC.js");
|
|
5599
5721
|
if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
|
|
5600
5722
|
return res.json({ success: false, reason: "disabled" });
|
|
5601
5723
|
}
|
|
@@ -5627,7 +5749,7 @@ async function createServerHandle(config3) {
|
|
|
5627
5749
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
5628
5750
|
model: llmClient.getModel()
|
|
5629
5751
|
};
|
|
5630
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
5752
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-5IMCWX5P.js");
|
|
5631
5753
|
runAgentTurn(
|
|
5632
5754
|
{
|
|
5633
5755
|
sessionManager,
|
|
@@ -5665,15 +5787,15 @@ async function createServerHandle(config3) {
|
|
|
5665
5787
|
if (!session) {
|
|
5666
5788
|
return res.status(404).json({ error: "Session not found" });
|
|
5667
5789
|
}
|
|
5668
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
5669
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
5790
|
+
const { stopSessionExecution } = await import("./chat-handler-3BZ4PDL2.js");
|
|
5791
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-JRCUWPJO.js");
|
|
5670
5792
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
5671
5793
|
sessionManager.clearMessageQueue(sessionId);
|
|
5672
5794
|
stopSessionExecution(sessionId, sessionManager);
|
|
5673
5795
|
abortSession(sessionId);
|
|
5674
5796
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
5675
5797
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
5676
|
-
const eventStore = (await import("./events-
|
|
5798
|
+
const eventStore = (await import("./events-FLWRLM6V.js")).getEventStore();
|
|
5677
5799
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
5678
5800
|
res.json({ success: true, queuedMessages });
|
|
5679
5801
|
});
|
|
@@ -5687,7 +5809,7 @@ async function createServerHandle(config3) {
|
|
|
5687
5809
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
5688
5810
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
5689
5811
|
}
|
|
5690
|
-
const { truncateSessionMessages } = await import("./events-
|
|
5812
|
+
const { truncateSessionMessages } = await import("./events-FLWRLM6V.js");
|
|
5691
5813
|
truncateSessionMessages(sessionId, messageIndex);
|
|
5692
5814
|
res.json({ success: true });
|
|
5693
5815
|
});
|
|
@@ -5704,7 +5826,7 @@ async function createServerHandle(config3) {
|
|
|
5704
5826
|
if (content !== void 0 && (typeof content !== "string" || !content.trim())) {
|
|
5705
5827
|
return res.status(400).json({ error: "content must be a non-empty string if provided" });
|
|
5706
5828
|
}
|
|
5707
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
5829
|
+
const { getEventStore: getEventStore2 } = await import("./events-FLWRLM6V.js");
|
|
5708
5830
|
const { buildMessagesFromStoredEvents } = await import("./folding-ONH3D4OK.js");
|
|
5709
5831
|
const eventStore = getEventStore2();
|
|
5710
5832
|
const events = eventStore.getEvents(sessionId);
|
|
@@ -5717,7 +5839,7 @@ async function createServerHandle(config3) {
|
|
|
5717
5839
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
5718
5840
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
5719
5841
|
}
|
|
5720
|
-
const { truncateSessionMessages } = await import("./events-
|
|
5842
|
+
const { truncateSessionMessages } = await import("./events-FLWRLM6V.js");
|
|
5721
5843
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
5722
5844
|
sessionManager.queueMessage(sessionId, "asap", content ?? msg.content, msg.attachments, msg.messageKind);
|
|
5723
5845
|
res.json({ success: true });
|
|
@@ -5749,7 +5871,7 @@ async function createServerHandle(config3) {
|
|
|
5749
5871
|
res.json({ accepted: true });
|
|
5750
5872
|
});
|
|
5751
5873
|
app.get("/api/settings", async (req, res) => {
|
|
5752
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
5874
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-7XDMSPIC.js");
|
|
5753
5875
|
const keysParam = req.query["keys"];
|
|
5754
5876
|
if (!keysParam) {
|
|
5755
5877
|
return res.status(400).json({ error: "keys query parameter is required" });
|
|
@@ -5762,19 +5884,19 @@ async function createServerHandle(config3) {
|
|
|
5762
5884
|
res.json(result);
|
|
5763
5885
|
});
|
|
5764
5886
|
app.get("/api/settings/:key", async (req, res) => {
|
|
5765
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
5887
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-7XDMSPIC.js");
|
|
5766
5888
|
const key = req.params.key;
|
|
5767
5889
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
5768
5890
|
res.json({ key, value });
|
|
5769
5891
|
});
|
|
5770
5892
|
app.get("/api/settings/:key", async (req, res) => {
|
|
5771
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
5893
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-7XDMSPIC.js");
|
|
5772
5894
|
const key = req.params.key;
|
|
5773
5895
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
5774
5896
|
res.json({ key, value });
|
|
5775
5897
|
});
|
|
5776
5898
|
app.put("/api/settings/:key", async (req, res) => {
|
|
5777
|
-
const { setSetting: setSetting2 } = await import("./settings-
|
|
5899
|
+
const { setSetting: setSetting2 } = await import("./settings-7XDMSPIC.js");
|
|
5778
5900
|
const key = req.params.key;
|
|
5779
5901
|
const { value } = req.body;
|
|
5780
5902
|
if (value === void 0) {
|
|
@@ -5801,7 +5923,7 @@ async function createServerHandle(config3) {
|
|
|
5801
5923
|
}
|
|
5802
5924
|
});
|
|
5803
5925
|
app.get("/api/tools/shells", async (_req, res) => {
|
|
5804
|
-
const { listAvailableShells } = await import("./platform-
|
|
5926
|
+
const { listAvailableShells } = await import("./platform-QGXO3CNR.js");
|
|
5805
5927
|
res.json({ shells: listAvailableShells() });
|
|
5806
5928
|
});
|
|
5807
5929
|
app.get("/api/config", async (_req, res) => {
|
|
@@ -5836,7 +5958,8 @@ async function createServerHandle(config3) {
|
|
|
5836
5958
|
providers: providerManager.getProviders(),
|
|
5837
5959
|
activeProviderId: providerManager.getActiveProviderId(),
|
|
5838
5960
|
defaultModelSelection: config3.defaultModelSelection,
|
|
5839
|
-
visionFallback
|
|
5961
|
+
visionFallback,
|
|
5962
|
+
platform: platformInfo
|
|
5840
5963
|
});
|
|
5841
5964
|
});
|
|
5842
5965
|
app.post("/api/model/refresh", async (_req, res) => {
|
|
@@ -5963,7 +6086,7 @@ async function createServerHandle(config3) {
|
|
|
5963
6086
|
const backend = req.query["backend"];
|
|
5964
6087
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
5965
6088
|
try {
|
|
5966
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
6089
|
+
const { fetchModelsWithContext } = await import("./provider-manager-SQIELYLK.js");
|
|
5967
6090
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
5968
6091
|
const models = await fetchModelsWithContext(
|
|
5969
6092
|
url,
|
|
@@ -6292,7 +6415,7 @@ async function createServerHandle(config3) {
|
|
|
6292
6415
|
});
|
|
6293
6416
|
async function rebuildMcpTools() {
|
|
6294
6417
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-MOGEI6TP.js");
|
|
6295
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
6418
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-JRCUWPJO.js");
|
|
6296
6419
|
const mcpTools = createMcpTools2(mcpManager);
|
|
6297
6420
|
setMcpTools2(mcpTools);
|
|
6298
6421
|
}
|
|
@@ -6405,7 +6528,7 @@ async function createServerHandle(config3) {
|
|
|
6405
6528
|
}
|
|
6406
6529
|
try {
|
|
6407
6530
|
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-EUMVEFHU.js");
|
|
6408
|
-
const { applyMcpServerUpdate } = await import("./update-server-
|
|
6531
|
+
const { applyMcpServerUpdate } = await import("./update-server-4MTM7M5P.js");
|
|
6409
6532
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
6410
6533
|
const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
|
|
6411
6534
|
const patch = {
|
|
@@ -6527,13 +6650,13 @@ async function createServerHandle(config3) {
|
|
|
6527
6650
|
})
|
|
6528
6651
|
);
|
|
6529
6652
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
6530
|
-
const { getSessionProcesses } = await import("./manager-
|
|
6653
|
+
const { getSessionProcesses } = await import("./manager-OPMCSYN2.js");
|
|
6531
6654
|
const sessionId = req.params.id;
|
|
6532
6655
|
const processes = getSessionProcesses(sessionId);
|
|
6533
6656
|
res.json({ processes });
|
|
6534
6657
|
});
|
|
6535
6658
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
6536
|
-
const { stopProcess } = await import("./manager-
|
|
6659
|
+
const { stopProcess } = await import("./manager-OPMCSYN2.js");
|
|
6537
6660
|
const sessionId = req.params.id;
|
|
6538
6661
|
const processId = req.params.processId;
|
|
6539
6662
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -6676,7 +6799,7 @@ async function createServerHandle(config3) {
|
|
|
6676
6799
|
const state = sessionManager.getContextState(sessionId);
|
|
6677
6800
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
6678
6801
|
});
|
|
6679
|
-
const { QueueProcessor } = await import("./processor-
|
|
6802
|
+
const { QueueProcessor } = await import("./processor-3R4GS6VB.js");
|
|
6680
6803
|
const queueProcessor = new QueueProcessor({
|
|
6681
6804
|
sessionManager,
|
|
6682
6805
|
providerManager,
|
|
@@ -6718,7 +6841,7 @@ async function createServerHandle(config3) {
|
|
|
6718
6841
|
void (async () => {
|
|
6719
6842
|
await devServerManager.stopAll();
|
|
6720
6843
|
await mcpManager.disconnectAll();
|
|
6721
|
-
const { stopAllInspectProxies } = await import("./inspect-proxy-
|
|
6844
|
+
const { stopAllInspectProxies } = await import("./inspect-proxy-JHZV34QR.js");
|
|
6722
6845
|
stopAllInspectProxies();
|
|
6723
6846
|
const { cleanupAllProcesses } = await import("./store-SARB6V2N.js");
|
|
6724
6847
|
cleanupAllProcesses();
|
|
@@ -6756,4 +6879,4 @@ export {
|
|
|
6756
6879
|
createServerHandle,
|
|
6757
6880
|
createServer
|
|
6758
6881
|
};
|
|
6759
|
-
//# sourceMappingURL=chunk-
|
|
6882
|
+
//# sourceMappingURL=chunk-J7VCI5EX.js.map
|