openfox 2.0.47 → 2.0.48
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-RQMS6H7Y.js → chat-handler-PLRNAAXW.js} +2 -2
- package/dist/{chunk-7LRXWATH.js → chunk-CZPX6AVB.js} +17 -8
- package/dist/{chunk-CJDWHFC2.js → chunk-PTIF5OEJ.js} +16 -5
- package/dist/{chunk-ENZPGAZV.js → chunk-TQH447DP.js} +2 -2
- package/dist/{chunk-LCCED4OV.js → chunk-YBNLQ2WX.js} +18 -10
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/update.sh +1 -2
- package/dist/{orchestrator-B37KCY3N.js → orchestrator-YOAWKIB2.js} +2 -2
- package/dist/package.json +4 -4
- package/dist/{processor-FQEDZOWL.js → processor-U35UWS3W.js} +2 -4
- package/dist/{serve-3SFSDC3X.js → serve-H3AYWFSE.js} +4 -4
- package/dist/server/index.js +3 -3
- package/dist/{server-PV5DANZ7.js → server-7XS77JZD.js} +3 -3
- package/package.json +4 -4
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-U62IKLKM.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PTIF5OEJ.js";
|
|
9
9
|
import "./chunk-GTY27MWS.js";
|
|
10
10
|
import "./chunk-LBGHZLLH.js";
|
|
11
11
|
import "./chunk-PBGOZMVY.js";
|
|
@@ -154,4 +154,4 @@ export {
|
|
|
154
154
|
startChatSession,
|
|
155
155
|
stopSessionExecution
|
|
156
156
|
};
|
|
157
|
-
//# sourceMappingURL=chat-handler-
|
|
157
|
+
//# sourceMappingURL=chat-handler-PLRNAAXW.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
injectWorkflowKickoffIfNeeded,
|
|
3
3
|
runAgentTurn,
|
|
4
4
|
runChatTurn
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-PTIF5OEJ.js";
|
|
6
6
|
import {
|
|
7
7
|
applyDynamicContext,
|
|
8
8
|
checkAborted,
|
|
@@ -1536,7 +1536,10 @@ function createWebSocketServer(httpServer, config, getLLMClient, getActiveProvid
|
|
|
1536
1536
|
}
|
|
1537
1537
|
logger.error("Chat turn error", { error });
|
|
1538
1538
|
}).finally(() => {
|
|
1539
|
-
|
|
1539
|
+
try {
|
|
1540
|
+
cleanupAfterTurn(sessionId, controller, broadcastForSession, false);
|
|
1541
|
+
} catch {
|
|
1542
|
+
}
|
|
1540
1543
|
});
|
|
1541
1544
|
}
|
|
1542
1545
|
const broadcastAll = (msg) => {
|
|
@@ -1834,8 +1837,11 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1834
1837
|
)
|
|
1835
1838
|
);
|
|
1836
1839
|
}).finally(() => {
|
|
1837
|
-
|
|
1838
|
-
|
|
1840
|
+
try {
|
|
1841
|
+
sessionManager.setRunning(sessionId, false);
|
|
1842
|
+
sendForSession(sessionId, createSessionRunningMessage(false));
|
|
1843
|
+
} catch {
|
|
1844
|
+
}
|
|
1839
1845
|
});
|
|
1840
1846
|
break;
|
|
1841
1847
|
}
|
|
@@ -1989,9 +1995,12 @@ ${content}` : workflowInfo;
|
|
|
1989
1995
|
}
|
|
1990
1996
|
logger.error("Runner error", { error, sessionId });
|
|
1991
1997
|
}).finally(() => {
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1998
|
+
try {
|
|
1999
|
+
sessionManager.setRunning(sessionId, false);
|
|
2000
|
+
sendForSession(sessionId, createSessionRunningMessage(false));
|
|
2001
|
+
cleanupAfterTurn(sessionId, controller, sendForSession, true);
|
|
2002
|
+
} catch {
|
|
2003
|
+
}
|
|
1995
2004
|
});
|
|
1996
2005
|
break;
|
|
1997
2006
|
}
|
|
@@ -2065,4 +2074,4 @@ export {
|
|
|
2065
2074
|
signalMcpReady,
|
|
2066
2075
|
createWebSocketServer
|
|
2067
2076
|
};
|
|
2068
|
-
//# sourceMappingURL=chunk-
|
|
2077
|
+
//# sourceMappingURL=chunk-CZPX6AVB.js.map
|
|
@@ -91,7 +91,12 @@ async function runChatTurn(options) {
|
|
|
91
91
|
const mode = session.mode;
|
|
92
92
|
logger.debug("Starting chat turn", { sessionId, mode });
|
|
93
93
|
sessionManager.setRunning(sessionId, true);
|
|
94
|
-
const append = (event) =>
|
|
94
|
+
const append = (event) => {
|
|
95
|
+
try {
|
|
96
|
+
eventStore.append(sessionId, event);
|
|
97
|
+
} catch {
|
|
98
|
+
}
|
|
99
|
+
};
|
|
95
100
|
const turnMetrics = new TurnMetrics();
|
|
96
101
|
try {
|
|
97
102
|
await runAgentTurn(options, turnMetrics, mode, append);
|
|
@@ -129,8 +134,11 @@ async function runChatTurn(options) {
|
|
|
129
134
|
return;
|
|
130
135
|
}
|
|
131
136
|
if (error instanceof Error && error.message === "Aborted") {
|
|
132
|
-
|
|
133
|
-
|
|
137
|
+
try {
|
|
138
|
+
const snapshot = buildSnapshot(sessionManager, sessionId, turnMetrics.buildStats(statsIdentity, mode));
|
|
139
|
+
eventStore.append(sessionId, { type: "turn.snapshot", data: snapshot });
|
|
140
|
+
} catch {
|
|
141
|
+
}
|
|
134
142
|
return;
|
|
135
143
|
}
|
|
136
144
|
logger.error("Chat turn error", { sessionId, mode, error });
|
|
@@ -157,7 +165,10 @@ async function runChatTurn(options) {
|
|
|
157
165
|
);
|
|
158
166
|
eventStore.append(sessionId, createChatDoneEvent(errorMsgId, "error"));
|
|
159
167
|
} finally {
|
|
160
|
-
|
|
168
|
+
try {
|
|
169
|
+
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
170
|
+
} catch {
|
|
171
|
+
}
|
|
161
172
|
}
|
|
162
173
|
}
|
|
163
174
|
function injectAgentReminder(sessionId, agentDef) {
|
|
@@ -313,4 +324,4 @@ export {
|
|
|
313
324
|
runAgentTurn,
|
|
314
325
|
injectWorkflowKickoffIfNeeded
|
|
315
326
|
};
|
|
316
|
-
//# sourceMappingURL=chunk-
|
|
327
|
+
//# sourceMappingURL=chunk-PTIF5OEJ.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-H3AYWFSE.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-TQH447DP.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
tokenFromPassword,
|
|
22
22
|
verifyPassword,
|
|
23
23
|
workflowExists
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-CZPX6AVB.js";
|
|
25
25
|
import {
|
|
26
26
|
agentExists,
|
|
27
27
|
createToolRegistry,
|
|
@@ -3849,7 +3849,7 @@ import { Router as Router7 } from "express";
|
|
|
3849
3849
|
import { spawn as spawn2 } from "child_process";
|
|
3850
3850
|
|
|
3851
3851
|
// src/constants.ts
|
|
3852
|
-
var VERSION = "2.0.
|
|
3852
|
+
var VERSION = "2.0.48";
|
|
3853
3853
|
|
|
3854
3854
|
// src/server/routes/auto-update.ts
|
|
3855
3855
|
var updateInProgress = false;
|
|
@@ -4046,7 +4046,7 @@ async function createServerHandle(config4) {
|
|
|
4046
4046
|
setMcpTools(mcpTools);
|
|
4047
4047
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
4048
4048
|
}
|
|
4049
|
-
const { signalMcpReady } = await import("./server-
|
|
4049
|
+
const { signalMcpReady } = await import("./server-7XS77JZD.js");
|
|
4050
4050
|
signalMcpReady();
|
|
4051
4051
|
});
|
|
4052
4052
|
const app = express();
|
|
@@ -4252,12 +4252,20 @@ async function createServerHandle(config4) {
|
|
|
4252
4252
|
const pendingQuestions = getPendingQuestionsForSession(req.params.id);
|
|
4253
4253
|
res.json({ session, messages, contextState, queueState, pendingQuestions });
|
|
4254
4254
|
});
|
|
4255
|
-
app.delete("/api/sessions/:id", (req, res) => {
|
|
4256
|
-
const
|
|
4255
|
+
app.delete("/api/sessions/:id", async (req, res) => {
|
|
4256
|
+
const sessionId = req.params["id"];
|
|
4257
|
+
const session = sessionManager.getSession(sessionId);
|
|
4257
4258
|
if (!session) {
|
|
4258
4259
|
return res.status(404).json({ error: "Session not found" });
|
|
4259
4260
|
}
|
|
4260
|
-
|
|
4261
|
+
const { stopSessionExecution } = await import("./chat-handler-PLRNAAXW.js");
|
|
4262
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CSRQDWRI.js");
|
|
4263
|
+
sessionManager.clearMessageQueue(sessionId);
|
|
4264
|
+
stopSessionExecution(sessionId, sessionManager);
|
|
4265
|
+
abortSession(sessionId);
|
|
4266
|
+
cancelQuestionsForSession(sessionId, "Session deleted");
|
|
4267
|
+
cancelPathConfirmationsForSession(sessionId, "Session deleted");
|
|
4268
|
+
sessionManager.deleteSession(sessionId);
|
|
4261
4269
|
res.json({ success: true });
|
|
4262
4270
|
});
|
|
4263
4271
|
app.delete("/api/projects/:projectId/sessions", (req, res) => {
|
|
@@ -4455,7 +4463,7 @@ async function createServerHandle(config4) {
|
|
|
4455
4463
|
if (sessionManager.isWarmedUp(sessionId)) {
|
|
4456
4464
|
return res.json({ success: false, reason: "already_warmed" });
|
|
4457
4465
|
}
|
|
4458
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
4466
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-YOAWKIB2.js");
|
|
4459
4467
|
runAgentTurn(
|
|
4460
4468
|
{
|
|
4461
4469
|
sessionManager,
|
|
@@ -4498,7 +4506,7 @@ async function createServerHandle(config4) {
|
|
|
4498
4506
|
if (!session) {
|
|
4499
4507
|
return res.status(404).json({ error: "Session not found" });
|
|
4500
4508
|
}
|
|
4501
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
4509
|
+
const { stopSessionExecution } = await import("./chat-handler-PLRNAAXW.js");
|
|
4502
4510
|
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CSRQDWRI.js");
|
|
4503
4511
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
4504
4512
|
sessionManager.clearMessageQueue(sessionId);
|
|
@@ -5303,7 +5311,7 @@ async function createServerHandle(config4) {
|
|
|
5303
5311
|
const state = sessionManager.getContextState(sessionId);
|
|
5304
5312
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
5305
5313
|
});
|
|
5306
|
-
const { QueueProcessor } = await import("./processor-
|
|
5314
|
+
const { QueueProcessor } = await import("./processor-U35UWS3W.js");
|
|
5307
5315
|
const queueProcessor = new QueueProcessor({
|
|
5308
5316
|
sessionManager,
|
|
5309
5317
|
providerManager,
|
|
@@ -5378,4 +5386,4 @@ export {
|
|
|
5378
5386
|
createServerHandle,
|
|
5379
5387
|
createServer
|
|
5380
5388
|
};
|
|
5381
|
-
//# sourceMappingURL=chunk-
|
|
5389
|
+
//# sourceMappingURL=chunk-YBNLQ2WX.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
package/dist/cli/update.sh
CHANGED
|
@@ -10,8 +10,7 @@ if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
|
|
|
10
10
|
fi
|
|
11
11
|
|
|
12
12
|
echo "Updating OpenFox: $CURRENT_VERSION -> $LATEST_VERSION"
|
|
13
|
-
npm
|
|
14
|
-
npm update -g openfox
|
|
13
|
+
npm install -g openfox@latest
|
|
15
14
|
NEW_VERSION=$(openfox --version)
|
|
16
15
|
echo "Updated: $NEW_VERSION"
|
|
17
16
|
echo "Please restart OpenFox to use the new version."
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
injectWorkflowKickoffIfNeeded,
|
|
3
3
|
runAgentTurn,
|
|
4
4
|
runChatTurn
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-PTIF5OEJ.js";
|
|
6
6
|
import "./chunk-GTY27MWS.js";
|
|
7
7
|
import "./chunk-LBGHZLLH.js";
|
|
8
8
|
import "./chunk-PBGOZMVY.js";
|
|
@@ -43,4 +43,4 @@ export {
|
|
|
43
43
|
runAgentTurn,
|
|
44
44
|
runChatTurn
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=orchestrator-
|
|
46
|
+
//# sourceMappingURL=orchestrator-YOAWKIB2.js.map
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openfox",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.48",
|
|
4
4
|
"description": "Local-LLM-first agentic coding assistant",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"scripts": {
|
|
27
27
|
"dev": "OPENFOX_DEV=true tsx watch src/cli/dev.ts --no-browser",
|
|
28
28
|
"dev:web": "vite --config web/vite.config.ts",
|
|
29
|
-
"build": "
|
|
30
|
-
"build:server": "
|
|
31
|
-
"build:web": "cd web &&
|
|
29
|
+
"build": "npm run build:server && npm run build:web",
|
|
30
|
+
"build:server": "tsup && mkdir -p dist/command-defaults dist/skill-defaults dist/agent-defaults dist/workflow-defaults && cp src/server/commands/defaults/*.md dist/command-defaults/ && cp src/server/skills/defaults/*.md dist/skill-defaults/ && cp src/server/agents/defaults/*.md dist/agent-defaults/ && cp src/server/workflows/defaults/*.json dist/workflow-defaults/ && cp src/server/lsp/languages.json dist/languages.json && cp src/cli/update.sh dist/cli/ && chmod +x dist/cli/update.sh && cp package.json dist/ && cp -r src/server/public dist/server/",
|
|
31
|
+
"build:web": "cd web && vite build --outDir ../dist/web",
|
|
32
32
|
"start": "node dist/cli/index.js",
|
|
33
33
|
"start:dev": "node dist/cli/dev.js",
|
|
34
34
|
"test": "vitest run --reporter=dot --silent=passed-only && vitest run --reporter=dot --silent=passed-only --config e2e/vitest.config.ts",
|
|
@@ -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-YOAWKIB2.js");
|
|
178
178
|
const runChatTurnParams = buildRunChatTurnParams({
|
|
179
179
|
sessionManager,
|
|
180
180
|
sessionId,
|
|
@@ -193,8 +193,6 @@ var QueueProcessor = class {
|
|
|
193
193
|
try {
|
|
194
194
|
const session2 = sessionManager.getSession(sessionId);
|
|
195
195
|
if (!session2) {
|
|
196
|
-
sessionManager.setRunning(sessionId, false);
|
|
197
|
-
broadcastForSession(sessionId, createSessionRunningMessage(false));
|
|
198
196
|
return;
|
|
199
197
|
}
|
|
200
198
|
if (this.abortedSessions.has(sessionId)) {
|
|
@@ -224,4 +222,4 @@ var QueueProcessor = class {
|
|
|
224
222
|
export {
|
|
225
223
|
QueueProcessor
|
|
226
224
|
};
|
|
227
|
-
//# sourceMappingURL=processor-
|
|
225
|
+
//# sourceMappingURL=processor-U35UWS3W.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION,
|
|
3
3
|
createServer
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-YBNLQ2WX.js";
|
|
5
|
+
import "./chunk-CZPX6AVB.js";
|
|
6
|
+
import "./chunk-PTIF5OEJ.js";
|
|
7
7
|
import "./chunk-GTY27MWS.js";
|
|
8
8
|
import "./chunk-LBGHZLLH.js";
|
|
9
9
|
import "./chunk-PBGOZMVY.js";
|
|
@@ -205,4 +205,4 @@ async function runServe(options) {
|
|
|
205
205
|
export {
|
|
206
206
|
runServe
|
|
207
207
|
};
|
|
208
|
-
//# sourceMappingURL=serve-
|
|
208
|
+
//# sourceMappingURL=serve-H3AYWFSE.js.map
|
package/dist/server/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer,
|
|
3
3
|
createServerHandle
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-YBNLQ2WX.js";
|
|
5
|
+
import "../chunk-CZPX6AVB.js";
|
|
6
|
+
import "../chunk-PTIF5OEJ.js";
|
|
7
7
|
import "../chunk-GTY27MWS.js";
|
|
8
8
|
import "../chunk-LBGHZLLH.js";
|
|
9
9
|
import "../chunk-PBGOZMVY.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createWebSocketServer,
|
|
3
3
|
signalMcpReady
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-CZPX6AVB.js";
|
|
5
|
+
import "./chunk-PTIF5OEJ.js";
|
|
6
6
|
import "./chunk-GTY27MWS.js";
|
|
7
7
|
import "./chunk-LBGHZLLH.js";
|
|
8
8
|
import "./chunk-PBGOZMVY.js";
|
|
@@ -35,4 +35,4 @@ export {
|
|
|
35
35
|
createWebSocketServer,
|
|
36
36
|
signalMcpReady
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=server-
|
|
38
|
+
//# sourceMappingURL=server-7XS77JZD.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openfox",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.48",
|
|
4
4
|
"description": "Local-LLM-first agentic coding assistant",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"scripts": {
|
|
27
27
|
"dev": "OPENFOX_DEV=true tsx watch src/cli/dev.ts --no-browser",
|
|
28
28
|
"dev:web": "vite --config web/vite.config.ts",
|
|
29
|
-
"build": "
|
|
30
|
-
"build:server": "
|
|
31
|
-
"build:web": "cd web &&
|
|
29
|
+
"build": "npm run build:server && npm run build:web",
|
|
30
|
+
"build:server": "tsup && mkdir -p dist/command-defaults dist/skill-defaults dist/agent-defaults dist/workflow-defaults && cp src/server/commands/defaults/*.md dist/command-defaults/ && cp src/server/skills/defaults/*.md dist/skill-defaults/ && cp src/server/agents/defaults/*.md dist/agent-defaults/ && cp src/server/workflows/defaults/*.json dist/workflow-defaults/ && cp src/server/lsp/languages.json dist/languages.json && cp src/cli/update.sh dist/cli/ && chmod +x dist/cli/update.sh && cp package.json dist/ && cp -r src/server/public dist/server/",
|
|
31
|
+
"build:web": "cd web && vite build --outDir ../dist/web",
|
|
32
32
|
"start": "node dist/cli/index.js",
|
|
33
33
|
"start:dev": "node dist/cli/dev.js",
|
|
34
34
|
"test": "vitest run --reporter=dot --silent=passed-only && vitest run --reporter=dot --silent=passed-only --config e2e/vitest.config.ts",
|