openfox 2.0.139 → 2.0.140
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/CHANGELOG.md +17 -0
- package/dist/CHANGELOG.md +17 -0
- package/dist/{backend-24FTDSHF.js → backend-EPISSWLB.js} +2 -2
- package/dist/{chat-handler-KGITQAXC.js → chat-handler-JWRCPG72.js} +11 -11
- package/dist/{chunk-CXB4HJAM.js → chunk-5EKBZXCU.js} +2 -2
- package/dist/{chunk-TG65PHHY.js → chunk-5F7LNEEP.js} +2 -2
- package/dist/{chunk-N4RAVCLZ.js → chunk-5MGCTRKM.js} +9 -7
- package/dist/{chunk-EGF3PREY.js → chunk-66XJC5TA.js} +6 -6
- package/dist/chunk-6RYTDRUR.js +7 -0
- package/dist/{chunk-LSO3IGJ4.js → chunk-EE6VFEE6.js} +2 -2
- package/dist/{chunk-AM5FAZJK.js → chunk-GZJRXVVJ.js} +5 -5
- package/dist/{chunk-EJ5GFSD4.js → chunk-H7YL7PH3.js} +8 -4
- package/dist/{chunk-TVSIWRKE.js → chunk-IFARTQOK.js} +10 -10
- package/dist/{chunk-YIEIVHCQ.js → chunk-K227HOLU.js} +3 -2
- package/dist/{chunk-HEYU7FAY.js → chunk-OA7KBQ2O.js} +7 -5
- package/dist/{chunk-C543DUKL.js → chunk-QIGVYXMH.js} +37 -37
- package/dist/{chunk-VCLAPTWM.js → chunk-SSHXYKW3.js} +34 -9
- package/dist/{chunk-22DV5XO7.js → chunk-TJOKDC34.js} +2 -2
- package/dist/{chunk-AKWJMMEJ.js → chunk-VLQ6BMU7.js} +7 -2
- package/dist/{chunk-EXQI5TVW.js → chunk-WD354R3H.js} +4 -4
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-6KC6SP2U.js → client-KJS7QIIV.js} +4 -4
- package/dist/{compactor-T7S4DIR3.js → compactor-UREBHSZQ.js} +4 -4
- package/dist/{dynamic-context-3MAA4AQR.js → dynamic-context-KGSZ7TRQ.js} +2 -2
- package/dist/{export-import-ZJFYZJOP.js → export-import-CJT33IO6.js} +2 -2
- package/dist/{http-client-VMRQHMF7.js → http-client-JVJ43TBY.js} +2 -2
- package/dist/{launch-73LDMGCT.js → launch-7NKOCT5A.js} +11 -11
- package/dist/{orchestrator-MMHV6SZY.js → orchestrator-VSVDUGBT.js} +10 -10
- package/dist/package.json +1 -1
- package/dist/{processor-2M7N26QG.js → processor-ACZM62WO.js} +10 -10
- package/dist/provider/index.d.ts +2 -2
- package/dist/{provider-MEENS4SB.js → provider-7LNTLWRB.js} +5 -5
- package/dist/{provider-manager-3MV7KDAD.js → provider-manager-TV5I5YJH.js} +5 -5
- package/dist/{serve-FN5XKUTC.js → serve-36D5HXWE.js} +16 -16
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +15 -15
- package/dist/{server-B4AJ7ETE.js → server-R3J26IP2.js} +14 -14
- package/dist/{service-JL55SFPL.js → service-7QKWUNU4.js} +6 -6
- package/dist/{tasks-ZMJCHW7E.js → tasks-E7EG7344.js} +6 -6
- package/dist/{tools-LZHSSSK4.js → tools-AY6XEVJK.js} +8 -8
- package/dist/{types-CmiWoQ7p.d.ts → types-ofYNpiqi.d.ts} +2 -0
- package/dist/{update-L2XK6UDC.js → update-JHFZMW3T.js} +2 -2
- package/dist/web/assets/{index-dJREs6rO.js → index-Bm0_ekvt.js} +82 -82
- package/dist/web/assets/{index-D3bx1-1j.css → index-BtkaULxJ.css} +1 -1
- package/dist/web/index.html +6 -3
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-Z7MGLDLK.js +0 -7
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
terminalManager,
|
|
10
10
|
tokenFromPassword,
|
|
11
11
|
verifyPassword
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-IFARTQOK.js";
|
|
13
13
|
import {
|
|
14
14
|
projectSessionStatus
|
|
15
15
|
} from "./chunk-T3S5MTMD.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-IJ53Y77N.js";
|
|
28
28
|
import {
|
|
29
29
|
TEMPLATE_VARIABLES
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-66XJC5TA.js";
|
|
31
31
|
import {
|
|
32
32
|
createToolRegistry,
|
|
33
33
|
devServerManager,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
setMcpManagerForTools,
|
|
43
43
|
setMcpTools,
|
|
44
44
|
setNotifyMcpServersChanged
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-5MGCTRKM.js";
|
|
46
46
|
import {
|
|
47
47
|
deleteOwnedSkill,
|
|
48
48
|
deleteProjectSkill,
|
|
@@ -106,7 +106,7 @@ import {
|
|
|
106
106
|
saveWorkflow,
|
|
107
107
|
saveWorkflowToProject,
|
|
108
108
|
workflowExists
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-TJOKDC34.js";
|
|
110
110
|
import {
|
|
111
111
|
clearSessionOverrides,
|
|
112
112
|
computeDisabledServersForProject,
|
|
@@ -216,13 +216,13 @@ import {
|
|
|
216
216
|
detectModel,
|
|
217
217
|
getLlmStatus,
|
|
218
218
|
parseDefaultModelSelection
|
|
219
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-H7YL7PH3.js";
|
|
220
220
|
import {
|
|
221
221
|
buildOpenFoxMcpBootstrap
|
|
222
222
|
} from "./chunk-YNMP647F.js";
|
|
223
223
|
import {
|
|
224
224
|
VERSION
|
|
225
|
-
} from "./chunk-
|
|
225
|
+
} from "./chunk-6RYTDRUR.js";
|
|
226
226
|
import {
|
|
227
227
|
deleteProject,
|
|
228
228
|
getProject,
|
|
@@ -235,7 +235,7 @@ import {
|
|
|
235
235
|
import {
|
|
236
236
|
detectBackendFromUrl,
|
|
237
237
|
getBackendDisplayName
|
|
238
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-VLQ6BMU7.js";
|
|
239
239
|
import {
|
|
240
240
|
buildModelsUrl
|
|
241
241
|
} from "./chunk-HNCM3D7Y.js";
|
|
@@ -245,7 +245,7 @@ import {
|
|
|
245
245
|
import {
|
|
246
246
|
SessionNotFoundError,
|
|
247
247
|
WorkspaceInUseError
|
|
248
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-EE6VFEE6.js";
|
|
249
249
|
import {
|
|
250
250
|
deleteSetting,
|
|
251
251
|
getSetting,
|
|
@@ -3145,8 +3145,8 @@ var SessionManager = class {
|
|
|
3145
3145
|
* @throws Error for invalid payloads or unknown project
|
|
3146
3146
|
*/
|
|
3147
3147
|
async importSession(projectId, rawPayload) {
|
|
3148
|
-
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-
|
|
3149
|
-
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-
|
|
3148
|
+
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-CJT33IO6.js");
|
|
3149
|
+
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-KGSZ7TRQ.js");
|
|
3150
3150
|
const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-PVJAAL2Y.js");
|
|
3151
3151
|
const payload = parseSessionExport(rawPayload);
|
|
3152
3152
|
if (payload.version !== SESSION_EXPORT_VERSION) {
|
|
@@ -7246,7 +7246,7 @@ function detectWsl() {
|
|
|
7246
7246
|
// src/server/index.ts
|
|
7247
7247
|
var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
|
|
7248
7248
|
async function announceContextDrift(sessionManager, sessionIds) {
|
|
7249
|
-
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-
|
|
7249
|
+
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-KGSZ7TRQ.js");
|
|
7250
7250
|
await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
|
|
7251
7251
|
}
|
|
7252
7252
|
async function createServerHandle(config3) {
|
|
@@ -7361,7 +7361,7 @@ async function createServerHandle(config3) {
|
|
|
7361
7361
|
toolRegistry = createToolRegistry();
|
|
7362
7362
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
7363
7363
|
}
|
|
7364
|
-
const { signalMcpReady } = await import("./server-
|
|
7364
|
+
const { signalMcpReady } = await import("./server-R3J26IP2.js");
|
|
7365
7365
|
signalMcpReady();
|
|
7366
7366
|
});
|
|
7367
7367
|
const app = express();
|
|
@@ -7576,9 +7576,9 @@ async function createServerHandle(config3) {
|
|
|
7576
7576
|
const sessionFavoriteRouter = express.Router();
|
|
7577
7577
|
registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
|
|
7578
7578
|
app.use("/api", sessionFavoriteRouter);
|
|
7579
|
-
const { createTasksService } = await import("./service-
|
|
7580
|
-
const { registerTaskRoutes } = await import("./tasks-
|
|
7581
|
-
const { setTasksService } = await import("./tools-
|
|
7579
|
+
const { createTasksService } = await import("./service-7QKWUNU4.js");
|
|
7580
|
+
const { registerTaskRoutes } = await import("./tasks-E7EG7344.js");
|
|
7581
|
+
const { setTasksService } = await import("./tools-AY6XEVJK.js");
|
|
7582
7582
|
const tasksService = createTasksService({
|
|
7583
7583
|
sessionManager,
|
|
7584
7584
|
config: config3,
|
|
@@ -7897,7 +7897,7 @@ All file and git operations should use this branch.
|
|
|
7897
7897
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
7898
7898
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZLP5V2YU.js");
|
|
7899
7899
|
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-BXMVJIFF.js");
|
|
7900
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7900
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-AY6XEVJK.js");
|
|
7901
7901
|
const { getMaxVisibleItems } = await import("./settings-HCSHADP5.js");
|
|
7902
7902
|
const session = sessionManager.getSession(req.params.id);
|
|
7903
7903
|
if (!session) {
|
|
@@ -7926,7 +7926,7 @@ All file and git operations should use this branch.
|
|
|
7926
7926
|
});
|
|
7927
7927
|
app.get("/api/sessions/:id/status", async (req, res) => {
|
|
7928
7928
|
const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
|
|
7929
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7929
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-AY6XEVJK.js");
|
|
7930
7930
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZLP5V2YU.js");
|
|
7931
7931
|
const { foldPendingConfirmations } = await import("./folding-BXMVJIFF.js");
|
|
7932
7932
|
const sessionId = req.params["id"];
|
|
@@ -7958,8 +7958,8 @@ All file and git operations should use this branch.
|
|
|
7958
7958
|
if (!session) {
|
|
7959
7959
|
return res.status(404).json({ error: "Session not found" });
|
|
7960
7960
|
}
|
|
7961
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7962
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7961
|
+
const { stopSessionExecution } = await import("./chat-handler-JWRCPG72.js");
|
|
7962
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AY6XEVJK.js");
|
|
7963
7963
|
sessionManager.clearMessageQueue(sessionId);
|
|
7964
7964
|
stopSessionExecution(sessionId, sessionManager);
|
|
7965
7965
|
abortSession(sessionId);
|
|
@@ -8191,7 +8191,7 @@ All file and git operations should use this branch.
|
|
|
8191
8191
|
}
|
|
8192
8192
|
sessionManager.setDangerLevel(sessionId, dangerLevel);
|
|
8193
8193
|
if (dangerLevel === "dangerous") {
|
|
8194
|
-
const { autoApprovePendingConfirmationsForSession } = await import("./tools-
|
|
8194
|
+
const { autoApprovePendingConfirmationsForSession } = await import("./tools-AY6XEVJK.js");
|
|
8195
8195
|
const approvedCallIds = autoApprovePendingConfirmationsForSession(sessionId);
|
|
8196
8196
|
for (const callId of approvedCallIds) {
|
|
8197
8197
|
wssExports.broadcastForSession(sessionId, {
|
|
@@ -8226,7 +8226,7 @@ All file and git operations should use this branch.
|
|
|
8226
8226
|
setSessionDisabledServers(sessionId, disabledServers);
|
|
8227
8227
|
const messages = session.messages ?? [];
|
|
8228
8228
|
if (messages.length === 0) {
|
|
8229
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
8229
|
+
const { applyDynamicContext } = await import("./dynamic-context-KGSZ7TRQ.js");
|
|
8230
8230
|
const modelName = session.providerModel ?? providerManager.getCurrentModel();
|
|
8231
8231
|
await applyDynamicContext(sessionManager, sessionId, modelName);
|
|
8232
8232
|
} else {
|
|
@@ -8260,7 +8260,7 @@ All file and git operations should use this branch.
|
|
|
8260
8260
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
8261
8261
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
8262
8262
|
}
|
|
8263
|
-
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-
|
|
8263
|
+
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-AY6XEVJK.js");
|
|
8264
8264
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
8265
8265
|
if (!pendingSessionId) {
|
|
8266
8266
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -8275,7 +8275,7 @@ All file and git operations should use this branch.
|
|
|
8275
8275
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-ZLP5V2YU.js");
|
|
8276
8276
|
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-BXMVJIFF.js");
|
|
8277
8277
|
const { createSessionStateMessage } = await import("./protocol-MRMOB3P4.js");
|
|
8278
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
8278
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-AY6XEVJK.js");
|
|
8279
8279
|
const { getMaxVisibleItems } = await import("./settings-HCSHADP5.js");
|
|
8280
8280
|
const eventStore = getEventStore2();
|
|
8281
8281
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
@@ -8313,7 +8313,7 @@ All file and git operations should use this branch.
|
|
|
8313
8313
|
if (!skip && typeof answer !== "string") {
|
|
8314
8314
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
8315
8315
|
}
|
|
8316
|
-
const { provideAnswer: provideAnswer2 } = await import("./tools-
|
|
8316
|
+
const { provideAnswer: provideAnswer2 } = await import("./tools-AY6XEVJK.js");
|
|
8317
8317
|
const found = provideAnswer2(callId, answer ?? "", skip ?? false);
|
|
8318
8318
|
if (!found) {
|
|
8319
8319
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -8379,7 +8379,7 @@ All file and git operations should use this branch.
|
|
|
8379
8379
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
8380
8380
|
model: llmClient.getModel()
|
|
8381
8381
|
};
|
|
8382
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
8382
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-VSVDUGBT.js");
|
|
8383
8383
|
runAgentTurn(
|
|
8384
8384
|
{
|
|
8385
8385
|
sessionManager,
|
|
@@ -8417,8 +8417,8 @@ All file and git operations should use this branch.
|
|
|
8417
8417
|
if (!session) {
|
|
8418
8418
|
return res.status(404).json({ error: "Session not found" });
|
|
8419
8419
|
}
|
|
8420
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
8421
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
8420
|
+
const { stopSessionExecution } = await import("./chat-handler-JWRCPG72.js");
|
|
8421
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AY6XEVJK.js");
|
|
8422
8422
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
8423
8423
|
sessionManager.clearMessageQueue(sessionId);
|
|
8424
8424
|
stopSessionExecution(sessionId, sessionManager);
|
|
@@ -8541,7 +8541,7 @@ All file and git operations should use this branch.
|
|
|
8541
8541
|
return res.status(404).json({ error: "Session not found" });
|
|
8542
8542
|
}
|
|
8543
8543
|
try {
|
|
8544
|
-
const { buildSessionExport } = await import("./export-import-
|
|
8544
|
+
const { buildSessionExport } = await import("./export-import-CJT33IO6.js");
|
|
8545
8545
|
const payload = buildSessionExport(sessionManager, sessionId);
|
|
8546
8546
|
const filename = `${(payload.session.title ?? "session").replace(/[^a-zA-Z0-9-_]/g, "_")}.openfox-session.json`;
|
|
8547
8547
|
res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
|
|
@@ -8863,7 +8863,7 @@ All file and git operations should use this branch.
|
|
|
8863
8863
|
const backend = req.query["backend"];
|
|
8864
8864
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
8865
8865
|
try {
|
|
8866
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
8866
|
+
const { fetchModelsWithContext } = await import("./provider-manager-TV5I5YJH.js");
|
|
8867
8867
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8868
8868
|
const { getCatalogEntry } = await import("./model-catalog-Y5MA5OZP.js");
|
|
8869
8869
|
const models = await fetchModelsWithContext(
|
|
@@ -8936,9 +8936,9 @@ All file and git operations should use this branch.
|
|
|
8936
8936
|
return res.json({ success: true, message: { content: response2.content }, raw: response2 });
|
|
8937
8937
|
}
|
|
8938
8938
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8939
|
-
const { getBackendCapabilities } = await import("./backend-
|
|
8939
|
+
const { getBackendCapabilities } = await import("./backend-EPISSWLB.js");
|
|
8940
8940
|
const { buildNonStreamingCreateParams } = await import("./client-pure-YZ4IGCU4.js");
|
|
8941
|
-
const { OpenAIHttpClient } = await import("./http-client-
|
|
8941
|
+
const { OpenAIHttpClient } = await import("./http-client-JVJ43TBY.js");
|
|
8942
8942
|
const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
|
|
8943
8943
|
const profile = getModelProfile2(model);
|
|
8944
8944
|
const capabilities = getBackendCapabilities(backend || "unknown");
|
|
@@ -9364,7 +9364,7 @@ All file and git operations should use this branch.
|
|
|
9364
9364
|
});
|
|
9365
9365
|
async function rebuildMcpTools() {
|
|
9366
9366
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-ZY4FC4C4.js");
|
|
9367
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
9367
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-AY6XEVJK.js");
|
|
9368
9368
|
const mcpTools = createMcpTools2(mcpManager);
|
|
9369
9369
|
setMcpTools2(mcpTools);
|
|
9370
9370
|
toolRegistry = createToolRegistry();
|
|
@@ -9940,7 +9940,7 @@ All file and git operations should use this branch.
|
|
|
9940
9940
|
);
|
|
9941
9941
|
const wss = wssExports.wss;
|
|
9942
9942
|
deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
|
|
9943
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
9943
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-7NKOCT5A.js");
|
|
9944
9944
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
9945
9945
|
const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
|
|
9946
9946
|
let llmClient = getLLMClient();
|
|
@@ -9985,7 +9985,7 @@ All file and git operations should use this branch.
|
|
|
9985
9985
|
const state = sessionManager.getContextState(sessionId);
|
|
9986
9986
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
9987
9987
|
});
|
|
9988
|
-
const { QueueProcessor } = await import("./processor-
|
|
9988
|
+
const { QueueProcessor } = await import("./processor-ACZM62WO.js");
|
|
9989
9989
|
const queueProcessor = new QueueProcessor({
|
|
9990
9990
|
sessionManager,
|
|
9991
9991
|
providerManager,
|
|
@@ -10027,8 +10027,8 @@ All file and git operations should use this branch.
|
|
|
10027
10027
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
|
|
10028
10028
|
stopSession: (sessionId) => {
|
|
10029
10029
|
void (async () => {
|
|
10030
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
10031
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
10030
|
+
const { stopSessionExecution } = await import("./chat-handler-JWRCPG72.js");
|
|
10031
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-AY6XEVJK.js");
|
|
10032
10032
|
sessionManager.clearMessageQueue(sessionId);
|
|
10033
10033
|
stopSessionExecution(sessionId, sessionManager);
|
|
10034
10034
|
abortSession(sessionId);
|
|
@@ -10149,4 +10149,4 @@ export {
|
|
|
10149
10149
|
createServerHandle,
|
|
10150
10150
|
createServer
|
|
10151
10151
|
};
|
|
10152
|
-
//# sourceMappingURL=chunk-
|
|
10152
|
+
//# sourceMappingURL=chunk-QIGVYXMH.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-TS5WKTFB.js";
|
|
4
4
|
import {
|
|
5
5
|
getBackendCapabilities
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VLQ6BMU7.js";
|
|
7
7
|
import {
|
|
8
8
|
ensureVersionPrefix,
|
|
9
9
|
stripVersionPrefix
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
DONE,
|
|
21
21
|
LLMError,
|
|
22
22
|
OpenAIHttpClient
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-EE6VFEE6.js";
|
|
24
24
|
import {
|
|
25
25
|
logger
|
|
26
26
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -464,16 +464,22 @@ function parseOllamaChatChunk(data) {
|
|
|
464
464
|
}
|
|
465
465
|
var OllamaHttpClient = class extends ChatHttpClient {
|
|
466
466
|
baseURL;
|
|
467
|
+
apiKey;
|
|
467
468
|
constructor(options) {
|
|
468
469
|
super();
|
|
469
470
|
this.baseURL = options.baseURL;
|
|
471
|
+
this.apiKey = options.apiKey;
|
|
470
472
|
}
|
|
471
473
|
buildRequest(params) {
|
|
474
|
+
const headers = {
|
|
475
|
+
"Content-Type": "application/json"
|
|
476
|
+
};
|
|
477
|
+
if (this.apiKey) {
|
|
478
|
+
headers["Authorization"] = `Bearer ${this.apiKey}`;
|
|
479
|
+
}
|
|
472
480
|
return {
|
|
473
481
|
url: `${this.baseURL}/api/chat`,
|
|
474
|
-
headers
|
|
475
|
-
"Content-Type": "application/json"
|
|
476
|
-
},
|
|
482
|
+
headers,
|
|
477
483
|
body: JSON.stringify(buildOllamaChatRequest(params))
|
|
478
484
|
};
|
|
479
485
|
}
|
|
@@ -507,14 +513,31 @@ function extractContentFromBlocks(blocks) {
|
|
|
507
513
|
}
|
|
508
514
|
return { text, thinking };
|
|
509
515
|
}
|
|
516
|
+
function isOpenCodeEndpoint(baseUrl) {
|
|
517
|
+
try {
|
|
518
|
+
const url = new URL(baseUrl);
|
|
519
|
+
return url.protocol === "https:" && url.hostname.replace(/\.$/, "") === "opencode.ai";
|
|
520
|
+
} catch {
|
|
521
|
+
return false;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
function openCodeSessionHeaders(sessionId) {
|
|
525
|
+
return {
|
|
526
|
+
"x-opencode-session": sessionId,
|
|
527
|
+
"x-opencode-client": "openfox",
|
|
528
|
+
"User-Agent": "openfox"
|
|
529
|
+
};
|
|
530
|
+
}
|
|
510
531
|
function createLLMClient(config, initialBackend = config.llm.backend ?? "unknown") {
|
|
511
532
|
const baseURL = ensureVersionPrefix(config.llm.baseUrl);
|
|
533
|
+
const isOpencode = isOpenCodeEndpoint(baseURL);
|
|
512
534
|
const httpClient = new OpenAIHttpClient({
|
|
513
535
|
baseURL,
|
|
514
536
|
apiKey: config.llm.apiKey ?? "not-needed"
|
|
515
537
|
});
|
|
516
538
|
const ollamaHttpClient = new OllamaHttpClient({
|
|
517
|
-
baseURL: stripVersionPrefix(baseURL)
|
|
539
|
+
baseURL: stripVersionPrefix(baseURL),
|
|
540
|
+
...config.llm.apiKey ? { apiKey: config.llm.apiKey } : {}
|
|
518
541
|
});
|
|
519
542
|
const responsesHttpClient = new OpenAIResponsesHttpClient({
|
|
520
543
|
baseURL,
|
|
@@ -589,7 +612,8 @@ function createLLMClient(config, initialBackend = config.llm.backend ?? "unknown
|
|
|
589
612
|
const httpResponse = await httpFor(backend).createChatCompletion(
|
|
590
613
|
createParams,
|
|
591
614
|
{
|
|
592
|
-
signal: request.signal
|
|
615
|
+
signal: request.signal,
|
|
616
|
+
...request.sessionId && isOpencode && { headers: openCodeSessionHeaders(request.sessionId) }
|
|
593
617
|
},
|
|
594
618
|
request.returnRaw
|
|
595
619
|
);
|
|
@@ -664,7 +688,8 @@ function createLLMClient(config, initialBackend = config.llm.backend ?? "unknown
|
|
|
664
688
|
}, 100);
|
|
665
689
|
const streamSignal = request.signal ? AbortSignal.any([request.signal, idleTimeoutController.signal]) : idleTimeoutController.signal;
|
|
666
690
|
const stream = httpFor(backend).createChatCompletionStream(streamingParams, {
|
|
667
|
-
signal: streamSignal
|
|
691
|
+
signal: streamSignal,
|
|
692
|
+
...request.sessionId && isOpencode && { headers: openCodeSessionHeaders(request.sessionId) }
|
|
668
693
|
});
|
|
669
694
|
let fullContent = "";
|
|
670
695
|
let fullThinking = "";
|
|
@@ -800,4 +825,4 @@ function createLLMClient(config, initialBackend = config.llm.backend ?? "unknown
|
|
|
800
825
|
export {
|
|
801
826
|
createLLMClient
|
|
802
827
|
};
|
|
803
|
-
//# sourceMappingURL=chunk-
|
|
828
|
+
//# sourceMappingURL=chunk-SSHXYKW3.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-OSXPQSLW.js";
|
|
12
12
|
import {
|
|
13
13
|
parseDefaultModelSelection
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-H7YL7PH3.js";
|
|
15
15
|
import {
|
|
16
16
|
getProject
|
|
17
17
|
} from "./chunk-DPFET73G.js";
|
|
@@ -1149,4 +1149,4 @@ export {
|
|
|
1149
1149
|
isTaskGateError,
|
|
1150
1150
|
createTasksService
|
|
1151
1151
|
};
|
|
1152
|
-
//# sourceMappingURL=chunk-
|
|
1152
|
+
//# sourceMappingURL=chunk-TJOKDC34.js.map
|
|
@@ -82,7 +82,12 @@ function detectBackendFromUrl(url) {
|
|
|
82
82
|
var HOST_PROVIDER_DEFAULTS = {
|
|
83
83
|
// DeepSeek's official API requires reasoning echoed under `reasoning_content`
|
|
84
84
|
// (its own output field) — anything else is ignored or 400s on tool calls.
|
|
85
|
-
"api.deepseek.com": { thinkingField: "reasoning_content" }
|
|
85
|
+
"api.deepseek.com": { thinkingField: "reasoning_content" },
|
|
86
|
+
// OpenCode Go's gateway forwards requests raw to upstreams whose strict
|
|
87
|
+
// schemas reject reasoning echoes on assistant history (e.g. GLM 400s with
|
|
88
|
+
// "Extra inputs are not permitted, field: messages[N].reasoning"). This
|
|
89
|
+
// overrides a persisted true so existing configs are rescued too.
|
|
90
|
+
"opencode.ai": { sendReasoningInMessages: false }
|
|
86
91
|
};
|
|
87
92
|
function detectProviderDefaultsFromUrl(url) {
|
|
88
93
|
try {
|
|
@@ -121,4 +126,4 @@ export {
|
|
|
121
126
|
detectProviderDefaultsFromUrl,
|
|
122
127
|
getBackendDisplayName
|
|
123
128
|
};
|
|
124
|
-
//# sourceMappingURL=chunk-
|
|
129
|
+
//# sourceMappingURL=chunk-VLQ6BMU7.js.map
|
|
@@ -207,7 +207,7 @@ async function runCli(options) {
|
|
|
207
207
|
break;
|
|
208
208
|
}
|
|
209
209
|
case "provider": {
|
|
210
|
-
const { runProviderCommand } = await import("./provider-
|
|
210
|
+
const { runProviderCommand } = await import("./provider-7LNTLWRB.js");
|
|
211
211
|
const [, subcommand] = positionals;
|
|
212
212
|
await runProviderCommand(mode, subcommand);
|
|
213
213
|
break;
|
|
@@ -252,7 +252,7 @@ async function runCli(options) {
|
|
|
252
252
|
break;
|
|
253
253
|
}
|
|
254
254
|
case "update": {
|
|
255
|
-
const { runUpdate } = await import("./update-
|
|
255
|
+
const { runUpdate } = await import("./update-JHFZMW3T.js");
|
|
256
256
|
const code = await runUpdate();
|
|
257
257
|
if (code !== 0) {
|
|
258
258
|
process.exit(code);
|
|
@@ -265,7 +265,7 @@ async function runCli(options) {
|
|
|
265
265
|
if (!configExists) {
|
|
266
266
|
await runNetworkSetup(mode);
|
|
267
267
|
}
|
|
268
|
-
const { runServe } = await import("./serve-
|
|
268
|
+
const { runServe } = await import("./serve-36D5HXWE.js");
|
|
269
269
|
const serveOptions = { mode };
|
|
270
270
|
if (values.port) serveOptions.port = parseInt(values.port);
|
|
271
271
|
if (values["no-browser"] === true) serveOptions.openBrowser = false;
|
|
@@ -277,4 +277,4 @@ async function runCli(options) {
|
|
|
277
277
|
export {
|
|
278
278
|
runCli
|
|
279
279
|
};
|
|
280
|
-
//# sourceMappingURL=chunk-
|
|
280
|
+
//# sourceMappingURL=chunk-WD354R3H.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLLMClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SSHXYKW3.js";
|
|
4
4
|
import "./chunk-TS5WKTFB.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-VLQ6BMU7.js";
|
|
6
6
|
import "./chunk-HNCM3D7Y.js";
|
|
7
7
|
import "./chunk-QMU3ZY2C.js";
|
|
8
8
|
import "./chunk-FSSUPWYO.js";
|
|
9
9
|
import "./chunk-XG3AUMPI.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-EE6VFEE6.js";
|
|
11
11
|
import "./chunk-EMXMTCSY.js";
|
|
12
12
|
import "./chunk-JU757HVI.js";
|
|
13
13
|
import "./chunk-K44MW7JJ.js";
|
|
@@ -15,4 +15,4 @@ import "./chunk-YLJ4XMA6.js";
|
|
|
15
15
|
export {
|
|
16
16
|
createLLMClient
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=client-
|
|
18
|
+
//# sourceMappingURL=client-KJS7QIIV.js.map
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
COMPACTION_MAX_RATIO,
|
|
4
4
|
appendCompactionPrompt,
|
|
5
5
|
shouldCompact
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-5F7LNEEP.js";
|
|
7
|
+
import "./chunk-OA7KBQ2O.js";
|
|
8
8
|
import "./chunk-GKRYQ56N.js";
|
|
9
9
|
import "./chunk-JTR3PC5I.js";
|
|
10
10
|
import "./chunk-AE2IBEUH.js";
|
|
@@ -16,7 +16,7 @@ import "./chunk-46Q2SHGJ.js";
|
|
|
16
16
|
import "./chunk-J2GP3J3X.js";
|
|
17
17
|
import "./chunk-DPFET73G.js";
|
|
18
18
|
import "./chunk-TS5WKTFB.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-VLQ6BMU7.js";
|
|
20
20
|
import "./chunk-QMU3ZY2C.js";
|
|
21
21
|
import "./chunk-FSSUPWYO.js";
|
|
22
22
|
import "./chunk-XG3AUMPI.js";
|
|
@@ -31,4 +31,4 @@ export {
|
|
|
31
31
|
appendCompactionPrompt,
|
|
32
32
|
shouldCompact
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=compactor-
|
|
34
|
+
//# sourceMappingURL=compactor-UREBHSZQ.js.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
injectContextDriftRemindersForSessions,
|
|
17
17
|
renderSystemPromptDiff,
|
|
18
18
|
renderToolChangeReminder
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5EKBZXCU.js";
|
|
20
20
|
import "./chunk-CRJ5J7U5.js";
|
|
21
21
|
import "./chunk-GKRYQ56N.js";
|
|
22
22
|
import "./chunk-JTR3PC5I.js";
|
|
@@ -51,4 +51,4 @@ export {
|
|
|
51
51
|
renderSystemPromptDiff,
|
|
52
52
|
renderToolChangeReminder
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=dynamic-context-
|
|
54
|
+
//# sourceMappingURL=dynamic-context-KGSZ7TRQ.js.map
|
|
@@ -9,7 +9,7 @@ import "./chunk-OSXPQSLW.js";
|
|
|
9
9
|
import "./chunk-LCLH6ZUL.js";
|
|
10
10
|
import {
|
|
11
11
|
VERSION
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6RYTDRUR.js";
|
|
13
13
|
import {
|
|
14
14
|
getProject
|
|
15
15
|
} from "./chunk-DPFET73G.js";
|
|
@@ -134,4 +134,4 @@ export {
|
|
|
134
134
|
buildSessionExport,
|
|
135
135
|
parseSessionExport
|
|
136
136
|
};
|
|
137
|
-
//# sourceMappingURL=export-import-
|
|
137
|
+
//# sourceMappingURL=export-import-CJT33IO6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenAIHttpClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EE6VFEE6.js";
|
|
4
4
|
import "./chunk-EMXMTCSY.js";
|
|
5
5
|
import "./chunk-JU757HVI.js";
|
|
6
6
|
import "./chunk-K44MW7JJ.js";
|
|
@@ -8,4 +8,4 @@ import "./chunk-YLJ4XMA6.js";
|
|
|
8
8
|
export {
|
|
9
9
|
OpenAIHttpClient
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=http-client-
|
|
11
|
+
//# sourceMappingURL=http-client-JVJ43TBY.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
abortRunnerRun,
|
|
3
3
|
launchWorkflowRun
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-66XJC5TA.js";
|
|
5
|
+
import "./chunk-GZJRXVVJ.js";
|
|
6
|
+
import "./chunk-5EKBZXCU.js";
|
|
7
|
+
import "./chunk-5MGCTRKM.js";
|
|
8
8
|
import "./chunk-CRJ5J7U5.js";
|
|
9
9
|
import "./chunk-XE6UC5Z3.js";
|
|
10
10
|
import "./chunk-J7GAZGZT.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-TJOKDC34.js";
|
|
12
12
|
import "./chunk-FIEFBRTQ.js";
|
|
13
13
|
import "./chunk-MAUQ6AW4.js";
|
|
14
14
|
import "./chunk-JLHYB445.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-OA7KBQ2O.js";
|
|
16
16
|
import "./chunk-GKRYQ56N.js";
|
|
17
17
|
import "./chunk-LW6MMSTD.js";
|
|
18
18
|
import "./chunk-UA2ATO3B.js";
|
|
@@ -29,18 +29,18 @@ import "./chunk-OSXPQSLW.js";
|
|
|
29
29
|
import "./chunk-OVAHNEFG.js";
|
|
30
30
|
import "./chunk-LCLH6ZUL.js";
|
|
31
31
|
import "./chunk-46Q2SHGJ.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-H7YL7PH3.js";
|
|
33
33
|
import "./chunk-OA2FURC3.js";
|
|
34
34
|
import "./chunk-J2GP3J3X.js";
|
|
35
35
|
import "./chunk-DPFET73G.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-SSHXYKW3.js";
|
|
37
37
|
import "./chunk-TS5WKTFB.js";
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-VLQ6BMU7.js";
|
|
39
39
|
import "./chunk-HNCM3D7Y.js";
|
|
40
40
|
import "./chunk-QMU3ZY2C.js";
|
|
41
41
|
import "./chunk-FSSUPWYO.js";
|
|
42
42
|
import "./chunk-XG3AUMPI.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-EE6VFEE6.js";
|
|
44
44
|
import "./chunk-EMXMTCSY.js";
|
|
45
45
|
import "./chunk-JU757HVI.js";
|
|
46
46
|
import "./chunk-VKMPR25F.js";
|
|
@@ -55,4 +55,4 @@ export {
|
|
|
55
55
|
abortRunnerRun,
|
|
56
56
|
launchWorkflowRun
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=launch-
|
|
58
|
+
//# sourceMappingURL=launch-7NKOCT5A.js.map
|