openfox 2.0.148 → 2.0.149
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 +15 -0
- package/dist/CHANGELOG.md +15 -0
- package/dist/{auto-continue-NODN37EK.js → auto-continue-AZRNVDV5.js} +7 -7
- package/dist/{chat-handler-PETIVNGQ.js → chat-handler-NJGT2L65.js} +10 -10
- package/dist/{chunk-EJKAN7HK.js → chunk-2GIY77DT.js} +184 -10
- package/dist/chunk-2IK5KDVV.js +7 -0
- package/dist/{chunk-V4BEYGBJ.js → chunk-7HNACZXD.js} +10 -10
- package/dist/{chunk-2DBWCXAQ.js → chunk-A6YTJZAO.js} +2 -2
- package/dist/{chunk-FAN4P45J.js → chunk-BAN2F7TG.js} +18 -2
- package/dist/{chunk-P7KUU5VB.js → chunk-E4RD42PU.js} +2 -2
- package/dist/{chunk-L2RESXUF.js → chunk-EBMHUSMZ.js} +2 -2
- package/dist/{chunk-6UU3W3XO.js → chunk-I46WU3NP.js} +4 -4
- package/dist/{chunk-QMU3ZY2C.js → chunk-JRWG4KWV.js} +3 -1
- package/dist/{chunk-LNJOQAXT.js → chunk-MA4NG3F7.js} +2 -2
- package/dist/{chunk-AWBV2VXO.js → chunk-MICSOCCE.js} +3 -3
- package/dist/{chunk-F6QMFCHQ.js → chunk-N342GU3N.js} +19 -8
- package/dist/{chunk-772W5PF7.js → chunk-RXKZVMKL.js} +67 -54
- package/dist/{chunk-ORIPUMOQ.js → chunk-XWKX5IAU.js} +2 -2
- package/dist/{chunk-NELDQCPC.js → chunk-ZWI4T4WF.js} +5 -5
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-L4PANCG4.js → client-WQFM3PDL.js} +3 -3
- package/dist/{client-pure-YZ4IGCU4.js → client-pure-EM26AITO.js} +2 -2
- package/dist/{compactor-YY7PO2XE.js → compactor-JDR6AGEW.js} +4 -4
- package/dist/{dynamic-context-CM3M2EJC.js → dynamic-context-SS3AVCVM.js} +2 -2
- package/dist/{export-import-UITAIBU5.js → export-import-QT7CV7ZU.js} +2 -2
- package/dist/{launch-E6SDDTHE.js → launch-2DPUISQR.js} +10 -10
- package/dist/{orchestrator-MVQIPITF.js → orchestrator-2BBZC4VH.js} +11 -9
- package/dist/package.json +1 -1
- package/dist/{processor-UTBTJVV5.js → processor-N3EIGT4S.js} +9 -9
- package/dist/{provider-QE7XSGYA.js → provider-52J4WIIQ.js} +4 -4
- package/dist/{provider-manager-WW2EF76W.js → provider-manager-6EACWIDV.js} +4 -4
- package/dist/{serve-XGIHFEC6.js → serve-O44ZIZ7N.js} +15 -15
- package/dist/server/index.js +14 -14
- package/dist/{server-F66GXJUS.js → server-Q5PTCS4G.js} +13 -13
- package/dist/{service-KMOSB6SU.js → service-ALXVEWCE.js} +5 -5
- package/dist/{tasks-X5DM553T.js → tasks-LD3VJYFH.js} +5 -5
- package/dist/{tools-NIOESJYT.js → tools-SK4EU3D5.js} +7 -7
- package/dist/{update-X6BS6MUF.js → update-32UNL44B.js} +2 -2
- package/dist/web/assets/{index-CkVmYTBd.js → index-Cith3wH6.js} +55 -55
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-DKHY5UNR.js +0 -7
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-OA2FURC3.js";
|
|
5
5
|
import {
|
|
6
6
|
createLLMClient
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EBMHUSMZ.js";
|
|
8
8
|
import {
|
|
9
9
|
getModelProfile
|
|
10
10
|
} from "./chunk-TS5WKTFB.js";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from "./chunk-HNCM3D7Y.js";
|
|
21
21
|
import {
|
|
22
22
|
resolveAttachmentsInMessages
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-JRWG4KWV.js";
|
|
24
24
|
import {
|
|
25
25
|
sanitizeToolSchema
|
|
26
26
|
} from "./chunk-XG3AUMPI.js";
|
|
@@ -920,4 +920,4 @@ export {
|
|
|
920
920
|
parseDefaultModelSelection,
|
|
921
921
|
createProviderManager
|
|
922
922
|
};
|
|
923
|
-
//# sourceMappingURL=chunk-
|
|
923
|
+
//# sourceMappingURL=chunk-MICSOCCE.js.map
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
checkToolChangesAndInject,
|
|
4
4
|
computeDynamicContextHash,
|
|
5
5
|
getToolFingerprint
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MA4NG3F7.js";
|
|
7
7
|
import {
|
|
8
8
|
createAssemblyResult,
|
|
9
9
|
getConversationMessages,
|
|
10
10
|
getToolRegistryForAgent,
|
|
11
11
|
processEventsForConversation,
|
|
12
12
|
runTopLevelAgentLoop
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2GIY77DT.js";
|
|
14
14
|
import {
|
|
15
15
|
getAllInstructions,
|
|
16
16
|
getEnabledSkillMetadata
|
|
@@ -24,8 +24,9 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
TurnMetrics,
|
|
26
26
|
createChatDoneEvent,
|
|
27
|
-
createMessageStartEvent
|
|
28
|
-
|
|
27
|
+
createMessageStartEvent,
|
|
28
|
+
sanitizeRetryPatterns
|
|
29
|
+
} from "./chunk-BAN2F7TG.js";
|
|
29
30
|
import {
|
|
30
31
|
buildAgentReminder,
|
|
31
32
|
buildAgentSmallReminder,
|
|
@@ -64,7 +65,16 @@ async function buildRetryPatterns() {
|
|
|
64
65
|
if (oldXmlProtection !== null) {
|
|
65
66
|
const disabled = oldXmlProtection === "true";
|
|
66
67
|
return {
|
|
67
|
-
retryPatterns:
|
|
68
|
+
retryPatterns: sanitizeRetryPatterns(
|
|
69
|
+
disabled ? [] : [
|
|
70
|
+
{
|
|
71
|
+
field: "both",
|
|
72
|
+
pattern: "<(tool_call|function=|/tool_call|parameter=)",
|
|
73
|
+
action: "retry",
|
|
74
|
+
active: true
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
),
|
|
68
78
|
maxRetriesPerTurn: 10
|
|
69
79
|
};
|
|
70
80
|
}
|
|
@@ -73,7 +83,7 @@ async function buildRetryPatterns() {
|
|
|
73
83
|
try {
|
|
74
84
|
const parsed = JSON.parse(raw);
|
|
75
85
|
return {
|
|
76
|
-
retryPatterns: Array.isArray(parsed.patterns) ? parsed.patterns : [],
|
|
86
|
+
retryPatterns: sanitizeRetryPatterns(Array.isArray(parsed.patterns) ? parsed.patterns : []),
|
|
77
87
|
maxRetriesPerTurn: typeof parsed.maxRetriesPerTurn === "number" ? parsed.maxRetriesPerTurn : 10
|
|
78
88
|
};
|
|
79
89
|
} catch {
|
|
@@ -357,7 +367,7 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
|
|
|
357
367
|
getConversationMessages: buildGetConversationMessages(options.sessionId, resolveAgentClient, append),
|
|
358
368
|
injectAgentReminder: () => injectAgentReminder(options.sessionId, agentDef),
|
|
359
369
|
rebuildCachedContext: async () => {
|
|
360
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
370
|
+
const { applyDynamicContext } = await import("./dynamic-context-SS3AVCVM.js");
|
|
361
371
|
await applyDynamicContext(options.sessionManager, options.sessionId, agentLlmClient.getModel());
|
|
362
372
|
},
|
|
363
373
|
...options.initialCompacting ? { initialCompacting: true } : {},
|
|
@@ -384,7 +394,8 @@ function buildSnapshot(sessionManager, sessionId, _lastStats) {
|
|
|
384
394
|
}
|
|
385
395
|
|
|
386
396
|
export {
|
|
397
|
+
buildRetryPatterns,
|
|
387
398
|
runChatTurn,
|
|
388
399
|
runAgentTurn
|
|
389
400
|
};
|
|
390
|
-
//# sourceMappingURL=chunk-
|
|
401
|
+
//# sourceMappingURL=chunk-N342GU3N.js.map
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
terminalManager,
|
|
10
10
|
tokenFromPassword,
|
|
11
11
|
verifyPassword
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7HNACZXD.js";
|
|
13
13
|
import {
|
|
14
14
|
TEMPLATE_VARIABLES
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ZWI4T4WF.js";
|
|
16
16
|
import {
|
|
17
17
|
projectSessionStatus
|
|
18
18
|
} from "./chunk-T3S5MTMD.js";
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
setMcpManagerForTools,
|
|
43
43
|
setMcpTools,
|
|
44
44
|
setNotifyMcpServersChanged
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-2GIY77DT.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-A6YTJZAO.js";
|
|
110
110
|
import {
|
|
111
111
|
clearSessionOverrides,
|
|
112
112
|
computeDisabledServersForProject,
|
|
@@ -218,13 +218,13 @@ import {
|
|
|
218
218
|
detectModel,
|
|
219
219
|
getLlmStatus,
|
|
220
220
|
parseDefaultModelSelection
|
|
221
|
-
} from "./chunk-
|
|
221
|
+
} from "./chunk-MICSOCCE.js";
|
|
222
222
|
import {
|
|
223
223
|
buildOpenFoxMcpBootstrap
|
|
224
224
|
} from "./chunk-YNMP647F.js";
|
|
225
225
|
import {
|
|
226
226
|
VERSION
|
|
227
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-2IK5KDVV.js";
|
|
228
228
|
import {
|
|
229
229
|
deleteProject,
|
|
230
230
|
getProject,
|
|
@@ -1576,6 +1576,17 @@ function createMockLLMClient() {
|
|
|
1576
1576
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
1577
1577
|
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
1578
1578
|
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
1579
|
+
var TOOL_CALL_TIMEOUT_MARGIN_SECONDS = 30;
|
|
1580
|
+
var TOOL_CALL_TIMEOUT_DEFAULT_SECONDS = 60;
|
|
1581
|
+
var TOOL_CALL_TIMEOUT_MAX_SECONDS = 3600;
|
|
1582
|
+
function effectiveRequestTimeoutSeconds(configTimeout, args) {
|
|
1583
|
+
const configSeconds = typeof configTimeout === "number" && Number.isFinite(configTimeout) && configTimeout > 0 ? configTimeout : 0;
|
|
1584
|
+
const arg = args["timeout"];
|
|
1585
|
+
const argSeconds = typeof arg === "number" && Number.isFinite(arg) && arg > 0 ? arg : 0;
|
|
1586
|
+
const argCandidate = argSeconds > 0 ? Math.min(argSeconds + TOOL_CALL_TIMEOUT_MARGIN_SECONDS, TOOL_CALL_TIMEOUT_MAX_SECONDS) : 0;
|
|
1587
|
+
const effective = Math.max(configSeconds, argCandidate);
|
|
1588
|
+
return effective > 0 ? effective : TOOL_CALL_TIMEOUT_DEFAULT_SECONDS;
|
|
1589
|
+
}
|
|
1579
1590
|
function withoutAuthorizationHeader(headers) {
|
|
1580
1591
|
if (!headers) return void 0;
|
|
1581
1592
|
const kept = Object.entries(headers).filter(([key]) => key.trim().toLowerCase() !== "authorization");
|
|
@@ -1766,27 +1777,29 @@ var McpManager = class {
|
|
|
1766
1777
|
const entry = this.servers.get(serverName);
|
|
1767
1778
|
if (!entry) return { success: false, error: `MCP server '${serverName}' not found` };
|
|
1768
1779
|
if (!entry.client) return { success: false, error: `MCP server '${serverName}' is not connected` };
|
|
1780
|
+
const timeoutSeconds = effectiveRequestTimeoutSeconds(entry.config.timeout, args);
|
|
1781
|
+
const timeoutMs = timeoutSeconds * 1e3;
|
|
1782
|
+
const controller = new AbortController();
|
|
1783
|
+
let timer;
|
|
1784
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
1785
|
+
timer = setTimeout(() => {
|
|
1786
|
+
const reason = new Error(`MCP tool call timed out after ${timeoutSeconds} seconds`);
|
|
1787
|
+
controller.abort(reason);
|
|
1788
|
+
reject(reason);
|
|
1789
|
+
}, timeoutMs);
|
|
1790
|
+
});
|
|
1769
1791
|
try {
|
|
1770
|
-
const timeout = entry.config.timeout;
|
|
1771
|
-
const requestOptions = timeout !== void 0 && timeout > 0 ? { timeout: timeout * 1e3 } : void 0;
|
|
1772
1792
|
let result;
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
},
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
timeoutPromise
|
|
1784
|
-
]);
|
|
1785
|
-
} finally {
|
|
1786
|
-
if (timer) clearTimeout(timer);
|
|
1787
|
-
}
|
|
1788
|
-
} else {
|
|
1789
|
-
result = await entry.client.callTool({ name: toolName, arguments: args });
|
|
1793
|
+
try {
|
|
1794
|
+
result = await Promise.race([
|
|
1795
|
+
entry.client.callTool({ name: toolName, arguments: args }, void 0, {
|
|
1796
|
+
timeout: timeoutMs,
|
|
1797
|
+
signal: controller.signal
|
|
1798
|
+
}),
|
|
1799
|
+
timeoutPromise
|
|
1800
|
+
]);
|
|
1801
|
+
} finally {
|
|
1802
|
+
if (timer) clearTimeout(timer);
|
|
1790
1803
|
}
|
|
1791
1804
|
const content = result.content;
|
|
1792
1805
|
const textParts = content.filter((c) => c.type === "text").map((c) => c.text);
|
|
@@ -3148,8 +3161,8 @@ var SessionManager = class {
|
|
|
3148
3161
|
* @throws Error for invalid payloads or unknown project
|
|
3149
3162
|
*/
|
|
3150
3163
|
async importSession(projectId, rawPayload) {
|
|
3151
|
-
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-
|
|
3152
|
-
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-
|
|
3164
|
+
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-QT7CV7ZU.js");
|
|
3165
|
+
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-SS3AVCVM.js");
|
|
3153
3166
|
const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-24U5BZAJ.js");
|
|
3154
3167
|
const payload = parseSessionExport(rawPayload);
|
|
3155
3168
|
if (payload.version !== SESSION_EXPORT_VERSION) {
|
|
@@ -7256,7 +7269,7 @@ function detectWsl() {
|
|
|
7256
7269
|
// src/server/index.ts
|
|
7257
7270
|
var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
|
|
7258
7271
|
async function announceContextDrift(sessionManager, sessionIds) {
|
|
7259
|
-
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-
|
|
7272
|
+
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-SS3AVCVM.js");
|
|
7260
7273
|
await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
|
|
7261
7274
|
}
|
|
7262
7275
|
async function createServerHandle(config3) {
|
|
@@ -7372,7 +7385,7 @@ async function createServerHandle(config3) {
|
|
|
7372
7385
|
toolRegistry = createToolRegistry();
|
|
7373
7386
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
7374
7387
|
}
|
|
7375
|
-
const { signalMcpReady } = await import("./server-
|
|
7388
|
+
const { signalMcpReady } = await import("./server-Q5PTCS4G.js");
|
|
7376
7389
|
signalMcpReady();
|
|
7377
7390
|
}
|
|
7378
7391
|
const app = express();
|
|
@@ -7587,9 +7600,9 @@ async function createServerHandle(config3) {
|
|
|
7587
7600
|
const sessionFavoriteRouter = express.Router();
|
|
7588
7601
|
registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
|
|
7589
7602
|
app.use("/api", sessionFavoriteRouter);
|
|
7590
|
-
const { createTasksService } = await import("./service-
|
|
7591
|
-
const { registerTaskRoutes } = await import("./tasks-
|
|
7592
|
-
const { setTasksService } = await import("./tools-
|
|
7603
|
+
const { createTasksService } = await import("./service-ALXVEWCE.js");
|
|
7604
|
+
const { registerTaskRoutes } = await import("./tasks-LD3VJYFH.js");
|
|
7605
|
+
const { setTasksService } = await import("./tools-SK4EU3D5.js");
|
|
7593
7606
|
const tasksService = createTasksService({
|
|
7594
7607
|
sessionManager,
|
|
7595
7608
|
config: config3,
|
|
@@ -7912,7 +7925,7 @@ All file and git operations should use this branch.
|
|
|
7912
7925
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-FTS5W6FX.js");
|
|
7913
7926
|
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, buildSessionStatsMessages, foldPendingConfirmations } = await import("./folding-VWRMYZ5T.js");
|
|
7914
7927
|
const { computeSessionStatsSummary } = await import("./stats-2QMXP6G4.js");
|
|
7915
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7928
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-SK4EU3D5.js");
|
|
7916
7929
|
const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
|
|
7917
7930
|
const session = sessionManager.getSession(req.params.id);
|
|
7918
7931
|
if (!session) {
|
|
@@ -7943,7 +7956,7 @@ All file and git operations should use this branch.
|
|
|
7943
7956
|
});
|
|
7944
7957
|
app.get("/api/sessions/:id/status", async (req, res) => {
|
|
7945
7958
|
const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
|
|
7946
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7959
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-SK4EU3D5.js");
|
|
7947
7960
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-FTS5W6FX.js");
|
|
7948
7961
|
const { foldPendingConfirmations } = await import("./folding-VWRMYZ5T.js");
|
|
7949
7962
|
const sessionId = req.params["id"];
|
|
@@ -7979,8 +7992,8 @@ All file and git operations should use this branch.
|
|
|
7979
7992
|
if (!session) {
|
|
7980
7993
|
return res.status(404).json({ error: "Session not found" });
|
|
7981
7994
|
}
|
|
7982
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7983
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7995
|
+
const { stopSessionExecution } = await import("./chat-handler-NJGT2L65.js");
|
|
7996
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-SK4EU3D5.js");
|
|
7984
7997
|
sessionManager.clearMessageQueue(sessionId);
|
|
7985
7998
|
stopSessionExecution(sessionId, sessionManager);
|
|
7986
7999
|
abortSession(sessionId);
|
|
@@ -8212,7 +8225,7 @@ All file and git operations should use this branch.
|
|
|
8212
8225
|
}
|
|
8213
8226
|
sessionManager.setDangerLevel(sessionId, dangerLevel);
|
|
8214
8227
|
if (dangerLevel === "dangerous") {
|
|
8215
|
-
const { autoApprovePendingConfirmationsForSession } = await import("./tools-
|
|
8228
|
+
const { autoApprovePendingConfirmationsForSession } = await import("./tools-SK4EU3D5.js");
|
|
8216
8229
|
const approvedCallIds = autoApprovePendingConfirmationsForSession(sessionId);
|
|
8217
8230
|
for (const callId of approvedCallIds) {
|
|
8218
8231
|
wssExports.broadcastForSession(sessionId, {
|
|
@@ -8247,7 +8260,7 @@ All file and git operations should use this branch.
|
|
|
8247
8260
|
setSessionDisabledServers(sessionId, disabledServers);
|
|
8248
8261
|
const messages = session.messages ?? [];
|
|
8249
8262
|
if (messages.length === 0) {
|
|
8250
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
8263
|
+
const { applyDynamicContext } = await import("./dynamic-context-SS3AVCVM.js");
|
|
8251
8264
|
const modelName = session.providerModel ?? providerManager.getCurrentModel();
|
|
8252
8265
|
await applyDynamicContext(sessionManager, sessionId, modelName);
|
|
8253
8266
|
} else {
|
|
@@ -8281,7 +8294,7 @@ All file and git operations should use this branch.
|
|
|
8281
8294
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
8282
8295
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
8283
8296
|
}
|
|
8284
|
-
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-
|
|
8297
|
+
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-SK4EU3D5.js");
|
|
8285
8298
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
8286
8299
|
if (!pendingSessionId) {
|
|
8287
8300
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -8296,7 +8309,7 @@ All file and git operations should use this branch.
|
|
|
8296
8309
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-FTS5W6FX.js");
|
|
8297
8310
|
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-VWRMYZ5T.js");
|
|
8298
8311
|
const { createSessionStateMessage } = await import("./protocol-M4DFHA32.js");
|
|
8299
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
8312
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-SK4EU3D5.js");
|
|
8300
8313
|
const { getMaxVisibleItems } = await import("./settings-FQUDSGZF.js");
|
|
8301
8314
|
const eventStore = getEventStore2();
|
|
8302
8315
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
@@ -8334,7 +8347,7 @@ All file and git operations should use this branch.
|
|
|
8334
8347
|
if (!skip && typeof answer !== "string") {
|
|
8335
8348
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
8336
8349
|
}
|
|
8337
|
-
const { provideAnswer: provideAnswer2 } = await import("./tools-
|
|
8350
|
+
const { provideAnswer: provideAnswer2 } = await import("./tools-SK4EU3D5.js");
|
|
8338
8351
|
const found = provideAnswer2(callId, answer ?? "", skip ?? false);
|
|
8339
8352
|
if (!found) {
|
|
8340
8353
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -8400,7 +8413,7 @@ All file and git operations should use this branch.
|
|
|
8400
8413
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
8401
8414
|
model: llmClient.getModel()
|
|
8402
8415
|
};
|
|
8403
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
8416
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-2BBZC4VH.js");
|
|
8404
8417
|
runAgentTurn(
|
|
8405
8418
|
{
|
|
8406
8419
|
sessionManager,
|
|
@@ -8438,8 +8451,8 @@ All file and git operations should use this branch.
|
|
|
8438
8451
|
if (!session) {
|
|
8439
8452
|
return res.status(404).json({ error: "Session not found" });
|
|
8440
8453
|
}
|
|
8441
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
8442
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
8454
|
+
const { stopSessionExecution } = await import("./chat-handler-NJGT2L65.js");
|
|
8455
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-SK4EU3D5.js");
|
|
8443
8456
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
8444
8457
|
sessionManager.clearMessageQueue(sessionId);
|
|
8445
8458
|
stopSessionExecution(sessionId, sessionManager);
|
|
@@ -8562,7 +8575,7 @@ All file and git operations should use this branch.
|
|
|
8562
8575
|
return res.status(404).json({ error: "Session not found" });
|
|
8563
8576
|
}
|
|
8564
8577
|
try {
|
|
8565
|
-
const { buildSessionExport } = await import("./export-import-
|
|
8578
|
+
const { buildSessionExport } = await import("./export-import-QT7CV7ZU.js");
|
|
8566
8579
|
const payload = buildSessionExport(sessionManager, sessionId);
|
|
8567
8580
|
const filename = `${(payload.session.title ?? "session").replace(/[^a-zA-Z0-9-_]/g, "_")}.openfox-session.json`;
|
|
8568
8581
|
res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
|
|
@@ -8884,7 +8897,7 @@ All file and git operations should use this branch.
|
|
|
8884
8897
|
const backend = req.query["backend"];
|
|
8885
8898
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
8886
8899
|
try {
|
|
8887
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
8900
|
+
const { fetchModelsWithContext } = await import("./provider-manager-6EACWIDV.js");
|
|
8888
8901
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8889
8902
|
const { getCatalogEntry } = await import("./model-catalog-Y5MA5OZP.js");
|
|
8890
8903
|
const models = await fetchModelsWithContext(
|
|
@@ -8958,7 +8971,7 @@ All file and git operations should use this branch.
|
|
|
8958
8971
|
}
|
|
8959
8972
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8960
8973
|
const { getBackendCapabilities } = await import("./backend-2VSDPCWS.js");
|
|
8961
|
-
const { buildNonStreamingCreateParams } = await import("./client-pure-
|
|
8974
|
+
const { buildNonStreamingCreateParams } = await import("./client-pure-EM26AITO.js");
|
|
8962
8975
|
const { OpenAIHttpClient } = await import("./http-client-SZZBSL4U.js");
|
|
8963
8976
|
const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
|
|
8964
8977
|
const profile = getModelProfile2(model);
|
|
@@ -9385,7 +9398,7 @@ All file and git operations should use this branch.
|
|
|
9385
9398
|
});
|
|
9386
9399
|
async function rebuildMcpTools() {
|
|
9387
9400
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-ZY4FC4C4.js");
|
|
9388
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
9401
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-SK4EU3D5.js");
|
|
9389
9402
|
const mcpTools = createMcpTools2(mcpManager);
|
|
9390
9403
|
setMcpTools2(mcpTools);
|
|
9391
9404
|
toolRegistry = createToolRegistry();
|
|
@@ -9961,7 +9974,7 @@ All file and git operations should use this branch.
|
|
|
9961
9974
|
);
|
|
9962
9975
|
const wss = wssExports.wss;
|
|
9963
9976
|
deferTasksBroadcast = (_projectId, payload) => wssExports.broadcastAll({ type: "tasks.update", payload });
|
|
9964
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
9977
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-2DPUISQR.js");
|
|
9965
9978
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
9966
9979
|
const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
|
|
9967
9980
|
let llmClient = getLLMClient();
|
|
@@ -10006,7 +10019,7 @@ All file and git operations should use this branch.
|
|
|
10006
10019
|
const state = sessionManager.getContextState(sessionId);
|
|
10007
10020
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
10008
10021
|
});
|
|
10009
|
-
const { QueueProcessor } = await import("./processor-
|
|
10022
|
+
const { QueueProcessor } = await import("./processor-N3EIGT4S.js");
|
|
10010
10023
|
const queueProcessor = new QueueProcessor({
|
|
10011
10024
|
sessionManager,
|
|
10012
10025
|
providerManager,
|
|
@@ -10019,7 +10032,7 @@ All file and git operations should use this branch.
|
|
|
10019
10032
|
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-FQUDSGZF.js");
|
|
10020
10033
|
if (getSetting2(SETTINGS_KEYS.AUTO_CONTINUE_ON_BOOT) === "true") {
|
|
10021
10034
|
const { getStaleRunningSessionIds } = await import("./store-OWOLXB74.js");
|
|
10022
|
-
const { runBootAutoContinuations } = await import("./auto-continue-
|
|
10035
|
+
const { runBootAutoContinuations } = await import("./auto-continue-AZRNVDV5.js");
|
|
10023
10036
|
const staleIds = getStaleRunningSessionIds();
|
|
10024
10037
|
if (staleIds.length > 0) {
|
|
10025
10038
|
const continued = runBootAutoContinuations(staleIds, {
|
|
@@ -10063,8 +10076,8 @@ All file and git operations should use this branch.
|
|
|
10063
10076
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
|
|
10064
10077
|
stopSession: (sessionId) => {
|
|
10065
10078
|
void (async () => {
|
|
10066
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
10067
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
10079
|
+
const { stopSessionExecution } = await import("./chat-handler-NJGT2L65.js");
|
|
10080
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-SK4EU3D5.js");
|
|
10068
10081
|
sessionManager.clearMessageQueue(sessionId);
|
|
10069
10082
|
stopSessionExecution(sessionId, sessionManager);
|
|
10070
10083
|
abortSession(sessionId);
|
|
@@ -10191,4 +10204,4 @@ export {
|
|
|
10191
10204
|
createServerHandle,
|
|
10192
10205
|
createServer
|
|
10193
10206
|
};
|
|
10194
|
-
//# sourceMappingURL=chunk-
|
|
10207
|
+
//# sourceMappingURL=chunk-RXKZVMKL.js.map
|
|
@@ -164,7 +164,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
|
|
|
164
164
|
client = deps.getLLMClient();
|
|
165
165
|
client.setModel(providerConfig.model);
|
|
166
166
|
} else if (providerConfig) {
|
|
167
|
-
const { createLLMClient } = await import("./client-
|
|
167
|
+
const { createLLMClient } = await import("./client-WQFM3PDL.js");
|
|
168
168
|
client = createLLMClient(
|
|
169
169
|
{
|
|
170
170
|
llm: {
|
|
@@ -219,4 +219,4 @@ export {
|
|
|
219
219
|
needsNameGeneration,
|
|
220
220
|
generateSessionNameForSession
|
|
221
221
|
};
|
|
222
|
-
//# sourceMappingURL=chunk-
|
|
222
|
+
//# sourceMappingURL=chunk-XWKX5IAU.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runAgentTurn
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-N342GU3N.js";
|
|
4
4
|
import {
|
|
5
5
|
buildAgentOverrideStatsIdentity,
|
|
6
6
|
executeSubAgent,
|
|
7
7
|
getToolRegistryForAgent,
|
|
8
8
|
resolveLLMClientForAgent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2GIY77DT.js";
|
|
10
10
|
import {
|
|
11
11
|
gitSpawnEnv
|
|
12
12
|
} from "./chunk-J7GAZGZT.js";
|
|
@@ -17,14 +17,14 @@ import {
|
|
|
17
17
|
loadProjectWorkflows,
|
|
18
18
|
loadUserWorkflows,
|
|
19
19
|
normalizeWorkflowScope
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-A6YTJZAO.js";
|
|
21
21
|
import {
|
|
22
22
|
serverT
|
|
23
23
|
} from "./chunk-X7ZAP6YW.js";
|
|
24
24
|
import {
|
|
25
25
|
TurnMetrics,
|
|
26
26
|
createMessageStartEvent
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-BAN2F7TG.js";
|
|
28
28
|
import {
|
|
29
29
|
checkAborted,
|
|
30
30
|
decodeUtf8,
|
|
@@ -1196,4 +1196,4 @@ export {
|
|
|
1196
1196
|
abortRunnerRun,
|
|
1197
1197
|
launchWorkflowRun
|
|
1198
1198
|
};
|
|
1199
|
-
//# sourceMappingURL=chunk-
|
|
1199
|
+
//# sourceMappingURL=chunk-ZWI4T4WF.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLLMClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EBMHUSMZ.js";
|
|
4
4
|
import "./chunk-TS5WKTFB.js";
|
|
5
5
|
import "./chunk-FTPQI5TA.js";
|
|
6
6
|
import "./chunk-HNCM3D7Y.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-JRWG4KWV.js";
|
|
8
8
|
import "./chunk-FSSUPWYO.js";
|
|
9
9
|
import "./chunk-XG3AUMPI.js";
|
|
10
10
|
import "./chunk-GZ4EK4LZ.js";
|
|
@@ -15,4 +15,4 @@ import "./chunk-YLJ4XMA6.js";
|
|
|
15
15
|
export {
|
|
16
16
|
createLLMClient
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=client-
|
|
18
|
+
//# sourceMappingURL=client-WQFM3PDL.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
mapFinishReason,
|
|
9
9
|
parseToolArguments,
|
|
10
10
|
resolveAttachmentsInMessages
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JRWG4KWV.js";
|
|
12
12
|
import "./chunk-FSSUPWYO.js";
|
|
13
13
|
import "./chunk-XG3AUMPI.js";
|
|
14
14
|
import "./chunk-YLJ4XMA6.js";
|
|
@@ -23,4 +23,4 @@ export {
|
|
|
23
23
|
parseToolArguments,
|
|
24
24
|
resolveAttachmentsInMessages
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=client-pure-
|
|
26
|
+
//# sourceMappingURL=client-pure-EM26AITO.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-E4RD42PU.js";
|
|
7
|
+
import "./chunk-BAN2F7TG.js";
|
|
8
8
|
import "./chunk-ZONLEX2F.js";
|
|
9
9
|
import "./chunk-5JGRKNMS.js";
|
|
10
10
|
import "./chunk-NZBO3A3W.js";
|
|
@@ -18,7 +18,7 @@ import "./chunk-J2GP3J3X.js";
|
|
|
18
18
|
import "./chunk-JYYBSODN.js";
|
|
19
19
|
import "./chunk-TS5WKTFB.js";
|
|
20
20
|
import "./chunk-FTPQI5TA.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-JRWG4KWV.js";
|
|
22
22
|
import "./chunk-FSSUPWYO.js";
|
|
23
23
|
import "./chunk-XG3AUMPI.js";
|
|
24
24
|
import "./chunk-X6SWZEK7.js";
|
|
@@ -32,4 +32,4 @@ export {
|
|
|
32
32
|
appendCompactionPrompt,
|
|
33
33
|
shouldCompact
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=compactor-
|
|
35
|
+
//# sourceMappingURL=compactor-JDR6AGEW.js.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
injectContextDriftRemindersForSessions,
|
|
17
17
|
renderSystemPromptDiff,
|
|
18
18
|
renderToolChangeReminder
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-MA4NG3F7.js";
|
|
20
20
|
import "./chunk-DJH6LMBT.js";
|
|
21
21
|
import "./chunk-ZONLEX2F.js";
|
|
22
22
|
import "./chunk-5JGRKNMS.js";
|
|
@@ -52,4 +52,4 @@ export {
|
|
|
52
52
|
renderSystemPromptDiff,
|
|
53
53
|
renderToolChangeReminder
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=dynamic-context-
|
|
55
|
+
//# sourceMappingURL=dynamic-context-SS3AVCVM.js.map
|
|
@@ -11,7 +11,7 @@ import "./chunk-OSXPQSLW.js";
|
|
|
11
11
|
import "./chunk-LCLH6ZUL.js";
|
|
12
12
|
import {
|
|
13
13
|
VERSION
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2IK5KDVV.js";
|
|
15
15
|
import {
|
|
16
16
|
getProject
|
|
17
17
|
} from "./chunk-JYYBSODN.js";
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
buildSessionExport,
|
|
137
137
|
parseSessionExport
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=export-import-
|
|
139
|
+
//# sourceMappingURL=export-import-QT7CV7ZU.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
abortRunnerRun,
|
|
3
3
|
launchWorkflowRun
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-ZWI4T4WF.js";
|
|
5
|
+
import "./chunk-N342GU3N.js";
|
|
6
|
+
import "./chunk-MA4NG3F7.js";
|
|
7
|
+
import "./chunk-2GIY77DT.js";
|
|
8
8
|
import "./chunk-OAN4BXEW.js";
|
|
9
9
|
import "./chunk-DJH6LMBT.js";
|
|
10
10
|
import "./chunk-PHR64A6U.js";
|
|
11
11
|
import "./chunk-J7GAZGZT.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-A6YTJZAO.js";
|
|
13
13
|
import "./chunk-UO4X2ENE.js";
|
|
14
14
|
import "./chunk-KJEOKIH2.js";
|
|
15
15
|
import "./chunk-X7ZAP6YW.js";
|
|
16
16
|
import "./chunk-CVQYCAMY.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-BAN2F7TG.js";
|
|
18
18
|
import "./chunk-ZONLEX2F.js";
|
|
19
19
|
import "./chunk-VGE6UYND.js";
|
|
20
20
|
import "./chunk-ODETQHMI.js";
|
|
@@ -30,15 +30,15 @@ import "./chunk-V5AC2TV7.js";
|
|
|
30
30
|
import "./chunk-2PGRX4RH.js";
|
|
31
31
|
import "./chunk-LCLH6ZUL.js";
|
|
32
32
|
import "./chunk-YEFZ5HBD.js";
|
|
33
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-MICSOCCE.js";
|
|
34
34
|
import "./chunk-OA2FURC3.js";
|
|
35
35
|
import "./chunk-J2GP3J3X.js";
|
|
36
36
|
import "./chunk-JYYBSODN.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-EBMHUSMZ.js";
|
|
38
38
|
import "./chunk-TS5WKTFB.js";
|
|
39
39
|
import "./chunk-FTPQI5TA.js";
|
|
40
40
|
import "./chunk-HNCM3D7Y.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-JRWG4KWV.js";
|
|
42
42
|
import "./chunk-FSSUPWYO.js";
|
|
43
43
|
import "./chunk-XG3AUMPI.js";
|
|
44
44
|
import "./chunk-GZ4EK4LZ.js";
|
|
@@ -56,4 +56,4 @@ export {
|
|
|
56
56
|
abortRunnerRun,
|
|
57
57
|
launchWorkflowRun
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=launch-
|
|
59
|
+
//# sourceMappingURL=launch-2DPUISQR.js.map
|