openfox 2.0.103 → 2.0.105
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 +32 -0
- package/dist/CHANGELOG.md +32 -0
- package/dist/{ask-TOBEA6KD.js → ask-CJMU6EW7.js} +2 -2
- package/dist/{chat-handler-IBFSBSGV.js → chat-handler-CQIDZUR7.js} +20 -20
- package/dist/chunk-4H427UBV.js +1298 -0
- package/dist/{chunk-5ZJYEINJ.js → chunk-5M45NHQ2.js} +2 -2
- package/dist/{chunk-W5FTCTGY.js → chunk-5VKT34HE.js} +2 -2
- package/dist/{chunk-W5RC44R6.js → chunk-6IXRISXA.js} +8 -8
- package/dist/{chunk-FQS7A5M4.js → chunk-6SIX7P6O.js} +2 -2
- package/dist/{chunk-REQIAJTV.js → chunk-6XDKVVYS.js} +75 -70
- package/dist/{chunk-DPRJYQ5U.js → chunk-AKUTOOSV.js} +25 -25
- package/dist/{chunk-MGKS2NG2.js → chunk-B76OP3OE.js} +3 -3
- package/dist/{chunk-WPCYFH6X.js → chunk-DMI2BXHA.js} +4 -4
- package/dist/{chunk-KKEBXFB3.js → chunk-EF7KGWF6.js} +2 -2
- package/dist/{chunk-Z753S3X7.js → chunk-EIJFYENT.js} +22 -15
- package/dist/{chunk-MR7ZEGOF.js → chunk-ERKPMNC7.js} +5 -2
- package/dist/{chunk-ZLCPNTRT.js → chunk-ERTTKKCE.js} +6 -2
- package/dist/{chunk-73EV6QYX.js → chunk-FGYOSQUR.js} +4 -4
- package/dist/{chunk-4Z2ARCY3.js → chunk-J27BLIPY.js} +2 -2
- package/dist/{chunk-EU3WWTFH.js → chunk-JAX5OEMM.js} +5 -1
- package/dist/{chunk-QL2G5UWE.js → chunk-KDJZGHSZ.js} +23 -13
- package/dist/{chunk-JL657X72.js → chunk-LG57PZYL.js} +16 -16
- package/dist/{chunk-RZC6DAT2.js → chunk-OUMHR7LR.js} +2 -2
- package/dist/{chunk-BJDQPILB.js → chunk-PP3WNUA6.js} +3 -3
- package/dist/{chunk-2EYTYXWN.js → chunk-S5HDT5RQ.js} +2 -2
- package/dist/{chunk-K6VVTE6C.js → chunk-SGGFVTMP.js} +30 -20
- package/dist/{chunk-YZSBJUGC.js → chunk-SPA7PQPJ.js} +3 -1
- package/dist/{chunk-KLK5N4OX.js → chunk-TFQSCHVU.js} +3 -3
- package/dist/{chunk-7HIJP4PC.js → chunk-UADZ2LZJ.js} +2 -2
- package/dist/chunk-UBF62JJI.js +7 -0
- package/dist/{chunk-AI27N57J.js → chunk-UUMJ5PAW.js} +4 -8
- package/dist/{chunk-KCED2X4H.js → chunk-WDJOSRIB.js} +12 -5
- package/dist/cli/dev.js +2 -2
- package/dist/cli/index.js +2 -2
- package/dist/{client-Q7BHKOCD.js → client-XT4VHS7E.js} +5 -5
- package/dist/{client-pure-ONSVWEG5.js → client-pure-USVHN4WG.js} +2 -2
- package/dist/{compactor-43P3LGDU.js → compactor-JMO7FHYA.js} +11 -11
- package/dist/{dynamic-context-AMPVZXUU.js → dynamic-context-UJE6F7XT.js} +7 -7
- package/dist/{events-RCC32JOA.js → events-BGVLDGLK.js} +6 -6
- package/dist/{folding-ZNUXPQUD.js → folding-AJMZBHNR.js} +4 -4
- package/dist/{http-client-WGNBG7PC.js → http-client-A7A4XWNK.js} +3 -3
- package/dist/{manager-HFGJLW7Q.js → manager-GGIIENDX.js} +4 -4
- package/dist/{model-overrides-DQDT5Y7R.js → model-overrides-BLEFI7FQ.js} +3 -3
- package/dist/{orchestrator-QDXKDLOW.js → orchestrator-Y2MBWVOB.js} +19 -19
- package/dist/package.json +1 -1
- package/dist/{path-security-SUFEIBTC.js → path-security-JCDBLFIE.js} +7 -7
- package/dist/{platform-2RLL7RAE.js → platform-GZ2WIDS5.js} +3 -3
- package/dist/{processor-YWNLWAZW.js → processor-3IURFW2N.js} +19 -19
- package/dist/{protocol-BXgdUKgZ.d.ts → protocol-rfiBDoXm.d.ts} +1 -1
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-FX3QCGAF.js → provider-ZXYITGFU.js} +69 -69
- package/dist/{provider-manager-GLG6BA32.js → provider-manager-QH5IIGHB.js} +6 -6
- package/dist/{pwa-SEWCVKZX.js → pwa-XPHP3PY2.js} +35 -35
- package/dist/{registry-GBNLVWYQ.js → registry-M2QVGRNK.js} +3 -3
- package/dist/{serve-FE4UAXGE.js → serve-OYLEY3HD.js} +27 -27
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +26 -26
- package/dist/server-L6YS6A6J.js +47 -0
- package/dist/{session-overrides-MBGBX6TM.js → session-overrides-HA5IQYLI.js} +5 -5
- package/dist/{sessions-FEIFYGH7.js → sessions-ZV2WRC6K.js} +4 -4
- package/dist/{settings-FT7HF7ZB.js → settings-TGCITCVA.js} +2 -2
- package/dist/shared/index.d.ts +3 -3
- package/dist/skill-defaults/browser/SKILL.md +36 -22
- package/dist/{tools-M5DKWCJJ.js → tools-BG44DIYU.js} +17 -17
- package/dist/{types-DBftgbfl.d.ts → types-o-YQ3Bfq.d.ts} +1 -1
- package/dist/{types-7idXD8Bq.d.ts → types-o0v5xVxu.d.ts} +1 -1
- package/dist/{update-KMPQUPQT.js → update-SOCIS7KO.js} +2 -2
- package/dist/web/assets/index-B7wjVPjL.css +40 -0
- package/dist/web/assets/index-BHIT-lGU.js +323 -0
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/web/workbox-9c191d2f.js +1 -0
- package/package.json +1 -1
- package/dist/chunk-SQYMFWY7.js +0 -7
- package/dist/chunk-XY3LESVZ.js +0 -1000
- package/dist/server-QGQGSHW6.js +0 -47
- package/dist/web/assets/index-B0CNNl1k.css +0 -32
- package/dist/web/assets/index-FWViKQkM.js +0 -324
- package/dist/web/workbox-8c29f6e4.js +0 -1
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getEnabledSkillMetadata,
|
|
5
5
|
isSkillEnabled,
|
|
6
6
|
loadAllSkills
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-B76OP3OE.js";
|
|
8
8
|
import {
|
|
9
9
|
TurnMetrics,
|
|
10
10
|
consumeStreamGenerator,
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
createToolCallEvent,
|
|
15
15
|
createToolResultEvent,
|
|
16
16
|
streamLLMPure
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5M45NHQ2.js";
|
|
18
18
|
import {
|
|
19
19
|
COMPACTION_PROMPT,
|
|
20
20
|
buildBasePrompt,
|
|
21
21
|
computeEffectiveTools
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-J27BLIPY.js";
|
|
23
23
|
import {
|
|
24
24
|
startInspectProxy
|
|
25
25
|
} from "./chunk-ZASSAZ73.js";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
spawnShellProcess,
|
|
34
34
|
startProcessCommand,
|
|
35
35
|
stopProcess
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-TFQSCHVU.js";
|
|
37
37
|
import {
|
|
38
38
|
getMaxPerSession,
|
|
39
39
|
getSessionProcessCount,
|
|
@@ -52,19 +52,19 @@ import {
|
|
|
52
52
|
} from "./chunk-D3SXT3BL.js";
|
|
53
53
|
import {
|
|
54
54
|
getSessionDisabledServers
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-UADZ2LZJ.js";
|
|
56
56
|
import {
|
|
57
57
|
PathAccessDeniedError,
|
|
58
58
|
extractAbsolutePathsFromCommand,
|
|
59
59
|
extractSensitivePathsFromCommand,
|
|
60
60
|
registerPathConfirmation,
|
|
61
61
|
requestPathAccess
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-ERTTKKCE.js";
|
|
63
63
|
import {
|
|
64
64
|
getCurrentContextWindowId,
|
|
65
65
|
getCurrentWindowMessageOptions,
|
|
66
66
|
getEventStore
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-DMI2BXHA.js";
|
|
68
68
|
import {
|
|
69
69
|
createChatDoneMessage,
|
|
70
70
|
createChatMessageMessage,
|
|
@@ -75,10 +75,10 @@ import {
|
|
|
75
75
|
import {
|
|
76
76
|
AskUserInterrupt,
|
|
77
77
|
askUserTool
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-JAX5OEMM.js";
|
|
79
79
|
import {
|
|
80
80
|
resolveLLMClientForAgent
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-5VKT34HE.js";
|
|
82
82
|
import {
|
|
83
83
|
buildContextMessagesFromEventHistory,
|
|
84
84
|
foldContextState,
|
|
@@ -88,13 +88,13 @@ import {
|
|
|
88
88
|
handleToolResult,
|
|
89
89
|
reorderToolMessages,
|
|
90
90
|
stripOrphanedToolCalls
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-S5HDT5RQ.js";
|
|
92
92
|
import {
|
|
93
93
|
findAgentById,
|
|
94
94
|
getRuntimeConfig,
|
|
95
95
|
getSubAgents,
|
|
96
96
|
loadAllAgentsDefault
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-6SIX7P6O.js";
|
|
98
98
|
import {
|
|
99
99
|
modelSupportsVision
|
|
100
100
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -108,11 +108,11 @@ import {
|
|
|
108
108
|
formatPdfErrorMessage,
|
|
109
109
|
isPdfBuffer,
|
|
110
110
|
processPdfContent
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-WDJOSRIB.js";
|
|
112
112
|
import {
|
|
113
113
|
SETTINGS_KEYS,
|
|
114
114
|
getSetting
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-SPA7PQPJ.js";
|
|
116
116
|
import {
|
|
117
117
|
logger
|
|
118
118
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -136,7 +136,7 @@ async function requestUserConfirmation(context, toolLabel, desc) {
|
|
|
136
136
|
if (context.dangerLevel === "dangerous") return Promise.resolve(true);
|
|
137
137
|
if (toolLabel === "workspace" || toolLabel === "command") {
|
|
138
138
|
try {
|
|
139
|
-
const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-
|
|
139
|
+
const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-TGCITCVA.js");
|
|
140
140
|
if (getSetting2(SETTINGS_KEYS2.CONFIRM_ON_WORKSPACE_ACTIONS) !== "true") {
|
|
141
141
|
return Promise.resolve(true);
|
|
142
142
|
}
|
|
@@ -1559,7 +1559,7 @@ async function executeTools(assistantMsgId, toolCalls, ctx, append) {
|
|
|
1559
1559
|
data: { callId: error.callId, question: error.question, type: error.type, options: error.options }
|
|
1560
1560
|
});
|
|
1561
1561
|
append(createChatDoneEvent(assistantMsgId, "waiting_for_user"));
|
|
1562
|
-
const { awaitAnswer } = await import("./ask-
|
|
1562
|
+
const { awaitAnswer } = await import("./ask-CJMU6EW7.js");
|
|
1563
1563
|
const answerPromise = awaitAnswer(error.callId);
|
|
1564
1564
|
if (!answerPromise) {
|
|
1565
1565
|
throw new Error(`No pending question found for callId: ${error.callId}`);
|
|
@@ -1919,7 +1919,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
1919
1919
|
sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens, config.subAgentMetadata?.subAgentId);
|
|
1920
1920
|
if (!compacting) {
|
|
1921
1921
|
const contextState2 = sessionManager.getContextState(sessionId);
|
|
1922
|
-
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-
|
|
1922
|
+
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-JMO7FHYA.js");
|
|
1923
1923
|
if (shouldCompact(
|
|
1924
1924
|
contextState2.currentTokens,
|
|
1925
1925
|
contextState2.maxTokens,
|
|
@@ -2185,13 +2185,13 @@ function createAssemblyResult(input) {
|
|
|
2185
2185
|
}
|
|
2186
2186
|
|
|
2187
2187
|
// src/server/llm/vision-fallback.ts
|
|
2188
|
-
var IMAGE_PROMPT = `Describe this image
|
|
2189
|
-
- What the image shows (UI, diagram, photo, etc.)
|
|
2190
|
-
-
|
|
2191
|
-
-
|
|
2192
|
-
-
|
|
2188
|
+
var IMAGE_PROMPT = `Describe this image thoroughly and accurately. Include:
|
|
2189
|
+
- What the image shows (UI, diagram, photo, illustration, etc.)
|
|
2190
|
+
- All visible text, transcribed verbatim \u2014 every label, heading, number, and value
|
|
2191
|
+
- Spatial layout: where elements are positioned and how they relate
|
|
2192
|
+
- Colors, visual hierarchy, and any distinctive visual features
|
|
2193
2193
|
|
|
2194
|
-
|
|
2194
|
+
Be exhaustive rather than concise. Prioritize precision \u2014 if there are numbers, lists, or structured data, capture them completely. If the image contains a table or grid, reproduce it as a markdown table with exact values.`;
|
|
2195
2195
|
function buildPrompt(context) {
|
|
2196
2196
|
return context ? `${IMAGE_PROMPT}
|
|
2197
2197
|
|
|
@@ -2907,7 +2907,7 @@ var callSubAgentTool = {
|
|
|
2907
2907
|
};
|
|
2908
2908
|
}
|
|
2909
2909
|
try {
|
|
2910
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
2910
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-BG44DIYU.js");
|
|
2911
2911
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
2912
2912
|
const turnMetrics = new TurnMetrics();
|
|
2913
2913
|
const result = await executeSubAgent({
|
|
@@ -3929,7 +3929,7 @@ var mcpConfigTool = createTool(
|
|
|
3929
3929
|
mcpNotifyChanged?.(sessionId);
|
|
3930
3930
|
}
|
|
3931
3931
|
async function rebuildTools() {
|
|
3932
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
3932
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-BG44DIYU.js");
|
|
3933
3933
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
3934
3934
|
setMcpTools2(mcpTools);
|
|
3935
3935
|
}
|
|
@@ -4604,4 +4604,4 @@ export {
|
|
|
4604
4604
|
getToolRegistryForAgent,
|
|
4605
4605
|
createToolRegistry
|
|
4606
4606
|
};
|
|
4607
|
-
//# sourceMappingURL=chunk-
|
|
4607
|
+
//# sourceMappingURL=chunk-AKUTOOSV.js.map
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
deleteItemFromDir,
|
|
6
6
|
loadItemsFromDir,
|
|
7
7
|
pathExists
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6SIX7P6O.js";
|
|
9
9
|
import {
|
|
10
10
|
SETTINGS_KEYS,
|
|
11
11
|
deleteSetting,
|
|
12
12
|
getSetting,
|
|
13
13
|
setSetting
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-SPA7PQPJ.js";
|
|
15
15
|
|
|
16
16
|
// src/server/context/instructions.ts
|
|
17
17
|
import { readFile, access } from "fs/promises";
|
|
@@ -440,4 +440,4 @@ export {
|
|
|
440
440
|
deleteSkill,
|
|
441
441
|
deleteProjectSkill
|
|
442
442
|
};
|
|
443
|
-
//# sourceMappingURL=chunk-
|
|
443
|
+
//# sourceMappingURL=chunk-B76OP3OE.js.map
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
foldContextState,
|
|
6
6
|
foldSessionState,
|
|
7
7
|
spreadOptionalMessageFields
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-S5HDT5RQ.js";
|
|
9
9
|
import {
|
|
10
10
|
updateSessionMessageCount
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OUMHR7LR.js";
|
|
12
12
|
import {
|
|
13
13
|
getRuntimeConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-6SIX7P6O.js";
|
|
15
15
|
import {
|
|
16
16
|
logger
|
|
17
17
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -1175,4 +1175,4 @@ export {
|
|
|
1175
1175
|
truncateSessionMessages,
|
|
1176
1176
|
getRecentUserPromptsForSession
|
|
1177
1177
|
};
|
|
1178
|
-
//# sourceMappingURL=chunk-
|
|
1178
|
+
//# sourceMappingURL=chunk-DMI2BXHA.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETTINGS_KEYS,
|
|
3
3
|
getSetting
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SPA7PQPJ.js";
|
|
5
5
|
|
|
6
6
|
// src/server/utils/platform.ts
|
|
7
7
|
import os from "os";
|
|
@@ -63,4 +63,4 @@ export {
|
|
|
63
63
|
isWindowsPath,
|
|
64
64
|
isAbsolutePath
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-EF7KGWF6.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getAllInstructions,
|
|
3
3
|
getEnabledSkillMetadata
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B76OP3OE.js";
|
|
5
5
|
import {
|
|
6
6
|
buildTopLevelSystemPrompt
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-J27BLIPY.js";
|
|
8
8
|
import {
|
|
9
9
|
findAgentById,
|
|
10
10
|
getRuntimeConfig,
|
|
11
11
|
getSubAgents,
|
|
12
12
|
loadAllAgentsDefault,
|
|
13
13
|
resolveDefaultAgentId
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-6SIX7P6O.js";
|
|
15
15
|
import {
|
|
16
16
|
logger
|
|
17
17
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -77,11 +77,12 @@ function computeUnifiedDiff(oldText, newText) {
|
|
|
77
77
|
}
|
|
78
78
|
return result;
|
|
79
79
|
}
|
|
80
|
-
function computeDynamicContextHash(instructionContent, skills, toolFingerprint) {
|
|
80
|
+
function computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName) {
|
|
81
81
|
const dynamicInputs = JSON.stringify({
|
|
82
82
|
instructions: instructionContent,
|
|
83
83
|
skills: skills.map((s) => s.id).sort(),
|
|
84
|
-
...toolFingerprint ? { tools: toolFingerprint } : {}
|
|
84
|
+
...toolFingerprint ? { tools: toolFingerprint } : {},
|
|
85
|
+
...modelName ? { model: modelName } : {}
|
|
85
86
|
});
|
|
86
87
|
return createHash("sha256").update(dynamicInputs).digest("hex");
|
|
87
88
|
}
|
|
@@ -102,31 +103,37 @@ function resolveAgentDef(sessionManager, sessionId) {
|
|
|
102
103
|
return findAgentById(session.mode, allAgents) ?? findAgentById(resolveDefaultAgentId(), allAgents);
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
|
-
async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
106
|
+
async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
|
|
106
107
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
107
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
108
|
+
const { getToolRegistryForAgent } = await import("./tools-BG44DIYU.js");
|
|
108
109
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
109
110
|
const toolFingerprint = getToolFingerprint(tools);
|
|
110
111
|
const allAgents = await loadAllAgentsDefault();
|
|
111
112
|
const subAgentDefs = getSubAgents(allAgents);
|
|
112
113
|
const session = sessionManager.requireSession(sessionId);
|
|
113
|
-
const systemPrompt = buildTopLevelSystemPrompt(
|
|
114
|
-
|
|
114
|
+
const systemPrompt = buildTopLevelSystemPrompt(
|
|
115
|
+
session.workdir,
|
|
116
|
+
instructionContent || void 0,
|
|
117
|
+
skills,
|
|
118
|
+
subAgentDefs,
|
|
119
|
+
modelName
|
|
120
|
+
);
|
|
121
|
+
const hash = computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
|
|
115
122
|
return { systemPrompt, tools, hash };
|
|
116
123
|
}
|
|
117
|
-
async function computeSessionHash(sessionManager, sessionId) {
|
|
124
|
+
async function computeSessionHash(sessionManager, sessionId, modelName) {
|
|
118
125
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
119
126
|
const agentDef = await resolveAgentDef(sessionManager, sessionId);
|
|
120
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
127
|
+
const { getToolRegistryForAgent } = await import("./tools-BG44DIYU.js");
|
|
121
128
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
122
129
|
const toolFingerprint = getToolFingerprint(tools);
|
|
123
|
-
return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
|
|
130
|
+
return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
|
|
124
131
|
}
|
|
125
|
-
async function applyDynamicContext(sessionManager, sessionId) {
|
|
132
|
+
async function applyDynamicContext(sessionManager, sessionId, modelName) {
|
|
126
133
|
const session = sessionManager.requireSession(sessionId);
|
|
127
134
|
const allAgents = await loadAllAgentsDefault();
|
|
128
135
|
const agentDef = findAgentById(session.mode, allAgents) ?? findAgentById(resolveDefaultAgentId(), allAgents);
|
|
129
|
-
const { systemPrompt, tools, hash } = await buildCachedPrompt(sessionManager, sessionId, agentDef);
|
|
136
|
+
const { systemPrompt, tools, hash } = await buildCachedPrompt(sessionManager, sessionId, agentDef, modelName);
|
|
130
137
|
sessionManager.setCachedPrompt(sessionId, systemPrompt, tools, hash);
|
|
131
138
|
sessionManager.setDynamicContextChanged(sessionId, false);
|
|
132
139
|
sessionManager.clearDebugDump(sessionId);
|
|
@@ -141,4 +148,4 @@ export {
|
|
|
141
148
|
computeSessionHash,
|
|
142
149
|
applyDynamicContext
|
|
143
150
|
};
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
151
|
+
//# sourceMappingURL=chunk-EIJFYENT.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETTINGS_KEYS,
|
|
3
3
|
getSetting
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SPA7PQPJ.js";
|
|
5
5
|
import {
|
|
6
6
|
logger
|
|
7
7
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -14,6 +14,8 @@ var OpenFoxError = class extends Error {
|
|
|
14
14
|
this.details = details;
|
|
15
15
|
this.name = "OpenFoxError";
|
|
16
16
|
}
|
|
17
|
+
code;
|
|
18
|
+
details;
|
|
17
19
|
};
|
|
18
20
|
var SessionNotFoundError = class extends OpenFoxError {
|
|
19
21
|
constructor(sessionId) {
|
|
@@ -33,6 +35,7 @@ var WorkspaceInUseError = class extends OpenFoxError {
|
|
|
33
35
|
this.conflictingSessionIds = conflictingSessionIds;
|
|
34
36
|
this.name = "WorkspaceInUseError";
|
|
35
37
|
}
|
|
38
|
+
conflictingSessionIds;
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
// src/server/llm/proxy.ts
|
|
@@ -161,4 +164,4 @@ export {
|
|
|
161
164
|
WorkspaceInUseError,
|
|
162
165
|
OpenAIHttpClient
|
|
163
166
|
};
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
167
|
+
//# sourceMappingURL=chunk-ERKPMNC7.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getEventStore
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DMI2BXHA.js";
|
|
4
4
|
import {
|
|
5
5
|
createChatPathConfirmationMessage
|
|
6
6
|
} from "./chunk-27SDWNKL.js";
|
|
@@ -396,6 +396,10 @@ var PathAccessDeniedError = class extends Error {
|
|
|
396
396
|
this.customMessage = customMessage;
|
|
397
397
|
this.name = "PathAccessDeniedError";
|
|
398
398
|
}
|
|
399
|
+
paths;
|
|
400
|
+
tool;
|
|
401
|
+
reason;
|
|
402
|
+
customMessage;
|
|
399
403
|
};
|
|
400
404
|
var pendingConfirmations = /* @__PURE__ */ new Map();
|
|
401
405
|
function registerPathConfirmation(callId, paths, sessionId, tool, workdir, reason) {
|
|
@@ -494,4 +498,4 @@ export {
|
|
|
494
498
|
getConfirmationSessionId,
|
|
495
499
|
getPendingConfirmationsBySession
|
|
496
500
|
};
|
|
497
|
-
//# sourceMappingURL=chunk-
|
|
501
|
+
//# sourceMappingURL=chunk-ERTTKKCE.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createMessageStartEvent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5M45NHQ2.js";
|
|
4
4
|
import {
|
|
5
5
|
COMPACTION_PROMPT
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-J27BLIPY.js";
|
|
7
7
|
import {
|
|
8
8
|
getCurrentWindowMessageOptions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-DMI2BXHA.js";
|
|
10
10
|
|
|
11
11
|
// src/server/context/compactor.ts
|
|
12
12
|
function appendCompactionPrompt(sessionId, append) {
|
|
@@ -36,4 +36,4 @@ export {
|
|
|
36
36
|
COMPACTION_MAX_RATIO,
|
|
37
37
|
shouldCompact
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-FGYOSQUR.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatformShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EF7KGWF6.js";
|
|
4
4
|
|
|
5
5
|
// src/server/tools/tool-policy.ts
|
|
6
6
|
var ALWAYS_ALLOWED = /* @__PURE__ */ new Set(["step_done"]);
|
|
@@ -245,4 +245,4 @@ export {
|
|
|
245
245
|
buildAgentSmallReminder,
|
|
246
246
|
COMPACTION_PROMPT
|
|
247
247
|
};
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
248
|
+
//# sourceMappingURL=chunk-J27BLIPY.js.map
|
|
@@ -93,6 +93,10 @@ var AskUserInterrupt = class extends Error {
|
|
|
93
93
|
this.options = options;
|
|
94
94
|
this.name = "AskUserInterrupt";
|
|
95
95
|
}
|
|
96
|
+
callId;
|
|
97
|
+
question;
|
|
98
|
+
type;
|
|
99
|
+
options;
|
|
96
100
|
};
|
|
97
101
|
function provideAnswer(callId, answer, skip) {
|
|
98
102
|
const pending = pendingQuestions.get(callId);
|
|
@@ -152,4 +156,4 @@ export {
|
|
|
152
156
|
awaitAnswer,
|
|
153
157
|
getPendingQuestionsForSession
|
|
154
158
|
};
|
|
155
|
-
//# sourceMappingURL=chunk-
|
|
159
|
+
//# sourceMappingURL=chunk-JAX5OEMM.js.map
|
|
@@ -2,44 +2,44 @@ import {
|
|
|
2
2
|
buildCachedPrompt,
|
|
3
3
|
computeDynamicContextHash,
|
|
4
4
|
getToolFingerprint
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EIJFYENT.js";
|
|
6
6
|
import {
|
|
7
7
|
createAssemblyResult,
|
|
8
8
|
getConversationMessages,
|
|
9
9
|
getToolRegistryForAgent,
|
|
10
10
|
processEventsForConversation,
|
|
11
11
|
runTopLevelAgentLoop
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AKUTOOSV.js";
|
|
13
13
|
import {
|
|
14
14
|
getAllInstructions,
|
|
15
15
|
getEnabledSkillMetadata
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-B76OP3OE.js";
|
|
17
17
|
import {
|
|
18
18
|
TurnMetrics,
|
|
19
19
|
createChatDoneEvent,
|
|
20
20
|
createMessageStartEvent
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-5M45NHQ2.js";
|
|
22
22
|
import {
|
|
23
23
|
buildAgentReminder,
|
|
24
24
|
buildAgentSmallReminder
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-J27BLIPY.js";
|
|
26
26
|
import {
|
|
27
27
|
PathAccessDeniedError
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-ERTTKKCE.js";
|
|
29
29
|
import {
|
|
30
30
|
getCurrentContextWindowId,
|
|
31
31
|
getCurrentWindowMessageOptions,
|
|
32
32
|
getEventStore
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-DMI2BXHA.js";
|
|
34
34
|
import {
|
|
35
35
|
buildSnapshotFromSessionState
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-S5HDT5RQ.js";
|
|
37
37
|
import {
|
|
38
38
|
findAgentById,
|
|
39
39
|
getRuntimeConfig,
|
|
40
40
|
loadAllAgentsDefault,
|
|
41
41
|
resolveDefaultAgentId
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-6SIX7P6O.js";
|
|
43
43
|
import {
|
|
44
44
|
logger
|
|
45
45
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
|
|
50
50
|
// src/server/chat/orchestrator.ts
|
|
51
51
|
async function buildRetryPatterns() {
|
|
52
|
-
const { getSetting, SETTINGS_KEYS } = await import("./settings-
|
|
52
|
+
const { getSetting, SETTINGS_KEYS } = await import("./settings-TGCITCVA.js");
|
|
53
53
|
const raw = getSetting(SETTINGS_KEYS.RETRY_PATTERNS);
|
|
54
54
|
if (!raw) {
|
|
55
55
|
const oldXmlProtection = getSetting("llm.disableXmlProtection");
|
|
@@ -254,7 +254,12 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
|
|
|
254
254
|
const cached = options.sessionManager.getCachedPrompt(options.sessionId);
|
|
255
255
|
if (cached) {
|
|
256
256
|
const toolFingerprint = getToolFingerprint(cached.tools);
|
|
257
|
-
const currentHash = computeDynamicContextHash(
|
|
257
|
+
const currentHash = computeDynamicContextHash(
|
|
258
|
+
instructionContent ?? "",
|
|
259
|
+
skills,
|
|
260
|
+
toolFingerprint,
|
|
261
|
+
agentLlmClient.getModel()
|
|
262
|
+
);
|
|
258
263
|
if (cached.hash !== currentHash) {
|
|
259
264
|
logger.debug("assembleRequest: hash mismatch", {
|
|
260
265
|
sessionId: options.sessionId,
|
|
@@ -272,7 +277,12 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
|
|
|
272
277
|
toolChoice: input.toolChoice
|
|
273
278
|
});
|
|
274
279
|
}
|
|
275
|
-
const result = await buildCachedPrompt(
|
|
280
|
+
const result = await buildCachedPrompt(
|
|
281
|
+
options.sessionManager,
|
|
282
|
+
options.sessionId,
|
|
283
|
+
agentDef,
|
|
284
|
+
agentLlmClient.getModel()
|
|
285
|
+
);
|
|
276
286
|
options.sessionManager.setCachedPrompt(options.sessionId, result.systemPrompt, result.tools, result.hash);
|
|
277
287
|
return createAssemblyResult({
|
|
278
288
|
systemPrompt: result.systemPrompt,
|
|
@@ -311,4 +321,4 @@ export {
|
|
|
311
321
|
runChatTurn,
|
|
312
322
|
runAgentTurn
|
|
313
323
|
};
|
|
314
|
-
//# sourceMappingURL=chunk-
|
|
324
|
+
//# sourceMappingURL=chunk-KDJZGHSZ.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
2
|
+
cancel,
|
|
3
|
+
isCancel,
|
|
4
|
+
password,
|
|
5
|
+
select
|
|
6
|
+
} from "./chunk-4H427UBV.js";
|
|
7
7
|
|
|
8
8
|
// src/cli/main.ts
|
|
9
9
|
import { parseArgs } from "util";
|
|
@@ -44,26 +44,26 @@ async function runNetworkSetup(mode) {
|
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
console.log("\nOpenFox Setup\n");
|
|
47
|
-
const networkChoice = await
|
|
47
|
+
const networkChoice = await select({
|
|
48
48
|
message: "How should OpenFox be accessible?",
|
|
49
49
|
options: [
|
|
50
50
|
{ value: "localhost", label: "Secure (localhost only)" },
|
|
51
51
|
{ value: "network", label: "Accessible from local network" }
|
|
52
52
|
]
|
|
53
53
|
});
|
|
54
|
-
if (
|
|
55
|
-
|
|
54
|
+
if (isCancel(networkChoice)) {
|
|
55
|
+
cancel();
|
|
56
56
|
process.exit(1);
|
|
57
57
|
}
|
|
58
58
|
const isNetwork = networkChoice === "network";
|
|
59
59
|
const host = isNetwork ? "0.0.0.0" : "127.0.0.1";
|
|
60
60
|
let passwordValue;
|
|
61
61
|
if (isNetwork) {
|
|
62
|
-
const pwd = await
|
|
62
|
+
const pwd = await password({
|
|
63
63
|
message: "Set a password? (optional, press Enter to skip)"
|
|
64
64
|
});
|
|
65
|
-
if (
|
|
66
|
-
|
|
65
|
+
if (isCancel(pwd)) {
|
|
66
|
+
cancel();
|
|
67
67
|
process.exit(1);
|
|
68
68
|
}
|
|
69
69
|
passwordValue = typeof pwd === "string" ? pwd : void 0;
|
|
@@ -163,7 +163,7 @@ async function runCli(options) {
|
|
|
163
163
|
break;
|
|
164
164
|
}
|
|
165
165
|
case "provider": {
|
|
166
|
-
const { runProviderCommand } = await import("./provider-
|
|
166
|
+
const { runProviderCommand } = await import("./provider-ZXYITGFU.js");
|
|
167
167
|
const [, subcommand] = positionals;
|
|
168
168
|
await runProviderCommand(mode, subcommand);
|
|
169
169
|
break;
|
|
@@ -182,7 +182,7 @@ async function runCli(options) {
|
|
|
182
182
|
break;
|
|
183
183
|
}
|
|
184
184
|
case "pwa": {
|
|
185
|
-
const { runPwaCommand, printPwaHelp } = await import("./pwa-
|
|
185
|
+
const { runPwaCommand, printPwaHelp } = await import("./pwa-XPHP3PY2.js");
|
|
186
186
|
const [, subcommand] = positionals;
|
|
187
187
|
if (subcommand === "--help" || subcommand === "-h" || values.help) {
|
|
188
188
|
printPwaHelp();
|
|
@@ -200,7 +200,7 @@ async function runCli(options) {
|
|
|
200
200
|
break;
|
|
201
201
|
}
|
|
202
202
|
case "update": {
|
|
203
|
-
const { runUpdate } = await import("./update-
|
|
203
|
+
const { runUpdate } = await import("./update-SOCIS7KO.js");
|
|
204
204
|
const code = await runUpdate();
|
|
205
205
|
if (code !== 0) {
|
|
206
206
|
process.exit(code);
|
|
@@ -213,7 +213,7 @@ async function runCli(options) {
|
|
|
213
213
|
if (!configExists) {
|
|
214
214
|
await runNetworkSetup(mode);
|
|
215
215
|
}
|
|
216
|
-
const { runServe } = await import("./serve-
|
|
216
|
+
const { runServe } = await import("./serve-OYLEY3HD.js");
|
|
217
217
|
const serveOptions = { mode };
|
|
218
218
|
if (values.port) serveOptions.port = parseInt(values.port);
|
|
219
219
|
if (values["no-browser"] === true) serveOptions.openBrowser = false;
|
|
@@ -225,4 +225,4 @@ async function runCli(options) {
|
|
|
225
225
|
export {
|
|
226
226
|
runCli
|
|
227
227
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
228
|
+
//# sourceMappingURL=chunk-LG57PZYL.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultAgentId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6SIX7P6O.js";
|
|
4
4
|
import {
|
|
5
5
|
getDatabase
|
|
6
6
|
} from "./chunk-GLF65XDS.js";
|
|
@@ -367,4 +367,4 @@ export {
|
|
|
367
367
|
getActiveWorkflowExecution,
|
|
368
368
|
clearWorkflowExecution
|
|
369
369
|
};
|
|
370
|
-
//# sourceMappingURL=chunk-
|
|
370
|
+
//# sourceMappingURL=chunk-OUMHR7LR.js.map
|
|
@@ -13,11 +13,11 @@ import {
|
|
|
13
13
|
getThinking,
|
|
14
14
|
mapFinishReason,
|
|
15
15
|
parseToolArguments
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WDJOSRIB.js";
|
|
17
17
|
import {
|
|
18
18
|
LLMError,
|
|
19
19
|
OpenAIHttpClient
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-ERKPMNC7.js";
|
|
21
21
|
import {
|
|
22
22
|
logger
|
|
23
23
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -310,4 +310,4 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
310
310
|
export {
|
|
311
311
|
createLLMClient
|
|
312
312
|
};
|
|
313
|
-
//# sourceMappingURL=chunk-
|
|
313
|
+
//# sourceMappingURL=chunk-PP3WNUA6.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultAgentId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6SIX7P6O.js";
|
|
4
4
|
|
|
5
5
|
// src/server/events/apply-events.ts
|
|
6
6
|
function markComplete(msg, reason) {
|
|
@@ -929,4 +929,4 @@ export {
|
|
|
929
929
|
buildSnapshot,
|
|
930
930
|
buildSnapshotFromSessionState
|
|
931
931
|
};
|
|
932
|
-
//# sourceMappingURL=chunk-
|
|
932
|
+
//# sourceMappingURL=chunk-S5HDT5RQ.js.map
|