openfox 2.0.138 → 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 +27 -0
- package/dist/CHANGELOG.md +27 -0
- package/dist/{backend-24FTDSHF.js → backend-EPISSWLB.js} +2 -2
- package/dist/{chat-handler-AUB5HDQD.js → chat-handler-JWRCPG72.js} +24 -24
- package/dist/{chunk-MOYWDP73.js → chunk-46Q2SHGJ.js} +2 -2
- package/dist/{chunk-BHVR2YS5.js → chunk-4F4ARGAM.js} +2 -2
- package/dist/{chunk-BENMBAU2.js → chunk-5EKBZXCU.js} +7 -7
- package/dist/{chunk-U7XCK7WL.js → chunk-5F7LNEEP.js} +4 -4
- package/dist/{chunk-N3PANDLT.js → chunk-5MGCTRKM.js} +21 -19
- package/dist/{chunk-5CZPHAHN.js → chunk-66XJC5TA.js} +10 -10
- package/dist/chunk-6RYTDRUR.js +7 -0
- package/dist/{chunk-X4PVR6AW.js → chunk-7OHSAZLF.js} +2 -2
- package/dist/{chunk-MMGHIPBU.js → chunk-AE2IBEUH.js} +2 -2
- package/dist/{chunk-Q33DL67W.js → chunk-CRJ5J7U5.js} +2 -2
- package/dist/{chunk-N5JKVNLH.js → chunk-EE6VFEE6.js} +3 -3
- package/dist/{chunk-QUAEH3MP.js → chunk-EMXMTCSY.js} +3 -1
- package/dist/{chunk-DG2YSWMC.js → chunk-FIEFBRTQ.js} +2 -2
- package/dist/{chunk-4LLGI372.js → chunk-GKRYQ56N.js} +34 -3
- package/dist/{chunk-2Q4THMD7.js → chunk-GZJRXVVJ.js} +13 -13
- package/dist/{chunk-G5GUQKLS.js → chunk-H7YL7PH3.js} +8 -4
- package/dist/{chunk-2KCREKHC.js → chunk-IFARTQOK.js} +18 -18
- package/dist/{chunk-4SBVW4UH.js → chunk-JLHYB445.js} +2 -2
- package/dist/{chunk-2OO46UAW.js → chunk-JTR3PC5I.js} +5 -5
- package/dist/{chunk-XS2QQERB.js → chunk-K227HOLU.js} +8 -7
- package/dist/{chunk-76C2PVOC.js → chunk-MAUQ6AW4.js} +6 -6
- package/dist/{chunk-HEYU7FAY.js → chunk-OA7KBQ2O.js} +7 -5
- package/dist/{chunk-HI25RCRW.js → chunk-QIGVYXMH.js} +91 -91
- package/dist/{chunk-DBCWILV3.js → chunk-RG326HS4.js} +3 -3
- package/dist/{chunk-64YDOCQR.js → chunk-SSHXYKW3.js} +34 -9
- package/dist/{chunk-QBWJCO5K.js → chunk-TJOKDC34.js} +3 -3
- package/dist/{chunk-SAGDTQXD.js → chunk-UA2ATO3B.js} +3 -3
- package/dist/{chunk-AKWJMMEJ.js → chunk-VLQ6BMU7.js} +7 -2
- package/dist/{chunk-RJ2GRUVF.js → chunk-WD354R3H.js} +4 -4
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-MVI3J7SN.js → client-KJS7QIIV.js} +5 -5
- package/dist/{compactor-KDTY4ERE.js → compactor-UREBHSZQ.js} +11 -11
- package/dist/{describe-image-AU6KBSWA.js → describe-image-TQOD52IC.js} +10 -10
- package/dist/{dynamic-context-SKHOUP4T.js → dynamic-context-KGSZ7TRQ.js} +10 -10
- package/dist/{events-ADE2KEHI.js → events-ZLP5V2YU.js} +6 -6
- package/dist/{export-import-SC3UW22Z.js → export-import-CJT33IO6.js} +7 -7
- package/dist/{folding-CM63AVSB.js → folding-BXMVJIFF.js} +4 -4
- package/dist/{http-client-C6UYWVWZ.js → http-client-JVJ43TBY.js} +3 -3
- package/dist/{launch-PTMPNZEN.js → launch-7NKOCT5A.js} +24 -24
- package/dist/{manager-FSPRJCYT.js → manager-JZNNVDYR.js} +4 -4
- package/dist/{orchestrator-KRHMAVBN.js → orchestrator-VSVDUGBT.js} +23 -23
- package/dist/package.json +1 -1
- package/dist/{path-security-YP2MRJNS.js → path-security-V3XALT5E.js} +8 -8
- package/dist/{platform-KPKYBU54.js → platform-DBPLSLE4.js} +3 -3
- package/dist/{processor-QZOGF5ES.js → processor-ACZM62WO.js} +23 -23
- package/dist/provider/index.d.ts +2 -2
- package/dist/{provider-SOC6Z25R.js → provider-7LNTLWRB.js} +6 -6
- package/dist/{provider-manager-Y53SVVQ3.js → provider-manager-TV5I5YJH.js} +6 -6
- package/dist/{registry-FMDMGIUB.js → registry-PVJAAL2Y.js} +3 -3
- package/dist/{serve-LVDF4XLG.js → serve-36D5HXWE.js} +29 -29
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +28 -28
- package/dist/{server-AIRQGHHR.js → server-R3J26IP2.js} +27 -27
- package/dist/{service-NKLQH647.js → service-7QKWUNU4.js} +8 -8
- package/dist/{session-overrides-ANQBKV74.js → session-overrides-7OPGV7CQ.js} +5 -5
- package/dist/{sessions-GLYACE5R.js → sessions-VHS47DHO.js} +4 -4
- package/dist/{settings-WH6BVQCP.js → settings-HCSHADP5.js} +2 -2
- package/dist/{tasks-GPM3JAE6.js → tasks-E7EG7344.js} +8 -8
- package/dist/{tools-NIPKV4YY.js → tools-AY6XEVJK.js} +21 -21
- package/dist/{types-CmiWoQ7p.d.ts → types-ofYNpiqi.d.ts} +2 -0
- package/dist/{update-Y5QXN3FK.js → update-JHFZMW3T.js} +2 -2
- package/dist/web/assets/index-Bm0_ekvt.js +313 -0
- package/dist/web/assets/{index-C1oW6oq0.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-OU7WD35E.js +0 -7
- package/dist/web/assets/index-CTAslWsi.js +0 -313
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.140 - 2026-09-08
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Authenticated Ollama proxies** — Ollama behind OpenWebUI or any Bearer-auth proxy now works when an API key is configured
|
|
8
|
+
|
|
9
|
+
### Enhancements
|
|
10
|
+
|
|
11
|
+
- **Refined mobile interface** — composer expands full-height with the keyboard, send/stop become icon pills, and the footer rebalances (agent + danger on top, MCP + model below)
|
|
12
|
+
- **Model names truncate on narrow screens** — no more overflowing the composer
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- **MCP dropdown stays in view** — opens as a centered modal on touch and left-aligns on narrow windows instead of overflowing
|
|
17
|
+
- **iOS no longer auto-zooms into the composer** — input fields keep a comfortable size on focus
|
|
18
|
+
- **opencode.ai providers work reliably** — chain-of-thought is no longer echoed into assistant history (fixing HTTP 400 on multi-turn thinking requests), and stable x-opencode-session headers restore prompt caching
|
|
19
|
+
|
|
20
|
+
## 2.0.139 - 2026-09-06
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
- **Caveman thinking mode** — opt-in setting that compresses the agent's reasoning into terse fragments to cut thinking tokens
|
|
25
|
+
|
|
26
|
+
### Enhancements
|
|
27
|
+
|
|
28
|
+
- **Pause-in-progress is now obvious** — pulsing pause button while waiting, cancel cross on hover, height matched to Send
|
|
29
|
+
|
|
3
30
|
## 2.0.138 - 2026-09-06
|
|
4
31
|
|
|
5
32
|
### Features
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.140 - 2026-09-08
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Authenticated Ollama proxies** — Ollama behind OpenWebUI or any Bearer-auth proxy now works when an API key is configured
|
|
8
|
+
|
|
9
|
+
### Enhancements
|
|
10
|
+
|
|
11
|
+
- **Refined mobile interface** — composer expands full-height with the keyboard, send/stop become icon pills, and the footer rebalances (agent + danger on top, MCP + model below)
|
|
12
|
+
- **Model names truncate on narrow screens** — no more overflowing the composer
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- **MCP dropdown stays in view** — opens as a centered modal on touch and left-aligns on narrow windows instead of overflowing
|
|
17
|
+
- **iOS no longer auto-zooms into the composer** — input fields keep a comfortable size on focus
|
|
18
|
+
- **opencode.ai providers work reliably** — chain-of-thought is no longer echoed into assistant history (fixing HTTP 400 on multi-turn thinking requests), and stable x-opencode-session headers restore prompt caching
|
|
19
|
+
|
|
20
|
+
## 2.0.139 - 2026-09-06
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
- **Caveman thinking mode** — opt-in setting that compresses the agent's reasoning into terse fragments to cut thinking tokens
|
|
25
|
+
|
|
26
|
+
### Enhancements
|
|
27
|
+
|
|
28
|
+
- **Pause-in-progress is now obvious** — pulsing pause button while waiting, cancel cross on hover, height matched to Send
|
|
29
|
+
|
|
3
30
|
## 2.0.138 - 2026-09-06
|
|
4
31
|
|
|
5
32
|
### Features
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
detectProviderDefaultsFromUrl,
|
|
4
4
|
getBackendCapabilities,
|
|
5
5
|
getBackendDisplayName
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VLQ6BMU7.js";
|
|
7
7
|
import "./chunk-YLJ4XMA6.js";
|
|
8
8
|
export {
|
|
9
9
|
detectBackendFromUrl,
|
|
@@ -11,4 +11,4 @@ export {
|
|
|
11
11
|
getBackendCapabilities,
|
|
12
12
|
getBackendDisplayName
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=backend-
|
|
14
|
+
//# sourceMappingURL=backend-EPISSWLB.js.map
|
|
@@ -2,34 +2,34 @@ import {
|
|
|
2
2
|
buildRunChatTurnParams,
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-K227HOLU.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-GZJRXVVJ.js";
|
|
9
|
+
import "./chunk-5EKBZXCU.js";
|
|
10
|
+
import "./chunk-5MGCTRKM.js";
|
|
11
|
+
import "./chunk-CRJ5J7U5.js";
|
|
12
12
|
import "./chunk-XE6UC5Z3.js";
|
|
13
13
|
import "./chunk-J7GAZGZT.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-TJOKDC34.js";
|
|
15
|
+
import "./chunk-FIEFBRTQ.js";
|
|
16
|
+
import "./chunk-MAUQ6AW4.js";
|
|
17
|
+
import "./chunk-JLHYB445.js";
|
|
18
|
+
import "./chunk-OA7KBQ2O.js";
|
|
19
|
+
import "./chunk-GKRYQ56N.js";
|
|
20
20
|
import "./chunk-LW6MMSTD.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-UA2ATO3B.js";
|
|
22
22
|
import "./chunk-I72ACQ6R.js";
|
|
23
23
|
import "./chunk-VIJVLLPT.js";
|
|
24
24
|
import "./chunk-OAN4BXEW.js";
|
|
25
25
|
import "./chunk-V5AC2TV7.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-RG326HS4.js";
|
|
27
27
|
import {
|
|
28
28
|
getEventStore
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
29
|
+
} from "./chunk-JTR3PC5I.js";
|
|
30
|
+
import "./chunk-AE2IBEUH.js";
|
|
31
|
+
import "./chunk-7OHSAZLF.js";
|
|
32
|
+
import "./chunk-4F4ARGAM.js";
|
|
33
33
|
import "./chunk-OSXPQSLW.js";
|
|
34
34
|
import {
|
|
35
35
|
createChatMessageMessage,
|
|
@@ -37,20 +37,20 @@ import {
|
|
|
37
37
|
createSessionRunningMessage
|
|
38
38
|
} from "./chunk-OVAHNEFG.js";
|
|
39
39
|
import "./chunk-LCLH6ZUL.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-46Q2SHGJ.js";
|
|
41
|
+
import "./chunk-H7YL7PH3.js";
|
|
42
42
|
import "./chunk-OA2FURC3.js";
|
|
43
43
|
import "./chunk-J2GP3J3X.js";
|
|
44
44
|
import "./chunk-DPFET73G.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-SSHXYKW3.js";
|
|
46
46
|
import "./chunk-TS5WKTFB.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-VLQ6BMU7.js";
|
|
48
48
|
import "./chunk-HNCM3D7Y.js";
|
|
49
49
|
import "./chunk-QMU3ZY2C.js";
|
|
50
50
|
import "./chunk-FSSUPWYO.js";
|
|
51
51
|
import "./chunk-XG3AUMPI.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-EE6VFEE6.js";
|
|
53
|
+
import "./chunk-EMXMTCSY.js";
|
|
54
54
|
import "./chunk-JU757HVI.js";
|
|
55
55
|
import "./chunk-VKMPR25F.js";
|
|
56
56
|
import "./chunk-K44MW7JJ.js";
|
|
@@ -180,4 +180,4 @@ export {
|
|
|
180
180
|
startChatSession,
|
|
181
181
|
stopSessionExecution
|
|
182
182
|
};
|
|
183
|
-
//# sourceMappingURL=chat-handler-
|
|
183
|
+
//# sourceMappingURL=chat-handler-JWRCPG72.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETTINGS_KEYS,
|
|
3
3
|
getSetting
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EMXMTCSY.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-46Q2SHGJ.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
SETTINGS_KEYS,
|
|
9
9
|
getSetting
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EMXMTCSY.js";
|
|
11
11
|
import {
|
|
12
12
|
logger
|
|
13
13
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -352,4 +352,4 @@ export {
|
|
|
352
352
|
getOverrideAgentIds,
|
|
353
353
|
resolveDefaultAgentId
|
|
354
354
|
};
|
|
355
|
-
//# sourceMappingURL=chunk-
|
|
355
|
+
//# sourceMappingURL=chunk-4F4ARGAM.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getAllInstructions,
|
|
3
3
|
getEnabledSkillMetadata
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CRJ5J7U5.js";
|
|
5
5
|
import {
|
|
6
6
|
buildTopLevelSystemPrompt
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-GKRYQ56N.js";
|
|
8
8
|
import {
|
|
9
9
|
getCurrentContextWindowId,
|
|
10
10
|
getEventStore
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JTR3PC5I.js";
|
|
12
12
|
import {
|
|
13
13
|
findAgentById,
|
|
14
14
|
getRuntimeConfig,
|
|
15
15
|
getSubAgents,
|
|
16
16
|
loadAllAgentsDefault,
|
|
17
17
|
resolveDefaultAgentId
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-4F4ARGAM.js";
|
|
19
19
|
import {
|
|
20
20
|
logger
|
|
21
21
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -327,8 +327,8 @@ function resolveAgentDef(sessionManager, sessionId) {
|
|
|
327
327
|
});
|
|
328
328
|
}
|
|
329
329
|
async function getEffectiveToolDefinitions(agentDef, sessionId, modelName) {
|
|
330
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
331
|
-
const { isDescribeImageEligible } = await import("./describe-image-
|
|
330
|
+
const { getToolRegistryForAgent } = await import("./tools-AY6XEVJK.js");
|
|
331
|
+
const { isDescribeImageEligible } = await import("./describe-image-TQOD52IC.js");
|
|
332
332
|
const all = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
333
333
|
const eligible = await isDescribeImageEligible(modelName);
|
|
334
334
|
if (eligible) return all;
|
|
@@ -396,4 +396,4 @@ export {
|
|
|
396
396
|
computeSessionHash,
|
|
397
397
|
applyDynamicContext
|
|
398
398
|
};
|
|
399
|
-
//# sourceMappingURL=chunk-
|
|
399
|
+
//# sourceMappingURL=chunk-5EKBZXCU.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createMessageStartEvent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OA7KBQ2O.js";
|
|
4
4
|
import {
|
|
5
5
|
COMPACTION_PROMPT
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GKRYQ56N.js";
|
|
7
7
|
import {
|
|
8
8
|
getCurrentWindowMessageOptions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-JTR3PC5I.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-5F7LNEEP.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getEnabledSkillMetadata,
|
|
5
5
|
isSkillEnabled,
|
|
6
6
|
loadAllSkills
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CRJ5J7U5.js";
|
|
8
8
|
import {
|
|
9
9
|
getGitBranch,
|
|
10
10
|
isGitRepository,
|
|
@@ -14,10 +14,10 @@ import {
|
|
|
14
14
|
getGateConfig,
|
|
15
15
|
isTaskConflictError,
|
|
16
16
|
isTaskGateError
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-TJOKDC34.js";
|
|
18
18
|
import {
|
|
19
19
|
getSessionDisabledServers
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-FIEFBRTQ.js";
|
|
21
21
|
import {
|
|
22
22
|
buildSignal,
|
|
23
23
|
computeFileHash,
|
|
@@ -33,10 +33,10 @@ import {
|
|
|
33
33
|
requireSession,
|
|
34
34
|
validateActionWithPermission,
|
|
35
35
|
validateFileForWrite
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-MAUQ6AW4.js";
|
|
37
37
|
import {
|
|
38
38
|
serverT
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-JLHYB445.js";
|
|
40
40
|
import {
|
|
41
41
|
TurnMetrics,
|
|
42
42
|
clearLLMFailure,
|
|
@@ -50,12 +50,12 @@ import {
|
|
|
50
50
|
recordLLMFailure,
|
|
51
51
|
sleepThroughRetryBackoff,
|
|
52
52
|
streamLLMPure
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-OA7KBQ2O.js";
|
|
54
54
|
import {
|
|
55
55
|
COMPACTION_PROMPT,
|
|
56
56
|
buildBasePrompt,
|
|
57
57
|
computeEffectiveTools
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-GKRYQ56N.js";
|
|
59
59
|
import {
|
|
60
60
|
startInspectProxy
|
|
61
61
|
} from "./chunk-LW6MMSTD.js";
|
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
spawnShellProcess,
|
|
73
73
|
startProcessCommand,
|
|
74
74
|
stopProcess
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-UA2ATO3B.js";
|
|
76
76
|
import {
|
|
77
77
|
getMaxPerSession,
|
|
78
78
|
getSessionProcessCount,
|
|
@@ -93,12 +93,12 @@ import {
|
|
|
93
93
|
extractAbsolutePathsFromCommand,
|
|
94
94
|
extractSensitivePathsFromCommand,
|
|
95
95
|
resolveRelativeTraversals
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-RG326HS4.js";
|
|
97
97
|
import {
|
|
98
98
|
getCurrentContextWindowId,
|
|
99
99
|
getCurrentWindowMessageOptions,
|
|
100
100
|
getEventStore
|
|
101
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-JTR3PC5I.js";
|
|
102
102
|
import {
|
|
103
103
|
buildContextMessagesFromEventHistory,
|
|
104
104
|
foldContextState,
|
|
@@ -108,13 +108,13 @@ import {
|
|
|
108
108
|
handleToolResult,
|
|
109
109
|
reorderToolMessages,
|
|
110
110
|
stripOrphanedToolCalls
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-AE2IBEUH.js";
|
|
112
112
|
import {
|
|
113
113
|
findAgentById,
|
|
114
114
|
getRuntimeConfig,
|
|
115
115
|
getSubAgents,
|
|
116
116
|
loadAllAgentsDefault
|
|
117
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-4F4ARGAM.js";
|
|
118
118
|
import {
|
|
119
119
|
createChatDoneMessage,
|
|
120
120
|
createChatLLMRetryFailedMessage,
|
|
@@ -139,7 +139,7 @@ import {
|
|
|
139
139
|
SETTINGS_KEYS,
|
|
140
140
|
getSetting,
|
|
141
141
|
setSetting
|
|
142
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-EMXMTCSY.js";
|
|
143
143
|
import {
|
|
144
144
|
logger
|
|
145
145
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -1498,6 +1498,7 @@ async function runTopLevelAgentLoop(config, turnMetrics) {
|
|
|
1498
1498
|
});
|
|
1499
1499
|
const modelSettings = sessionManager.getCurrentModelSettings(sessionId, config.mode);
|
|
1500
1500
|
await resolveClient().complete({
|
|
1501
|
+
sessionId,
|
|
1501
1502
|
messages: [{ role: "system", content: assembledRequest.systemPrompt }],
|
|
1502
1503
|
tools: assembledRequest.tools,
|
|
1503
1504
|
maxTokens: 1,
|
|
@@ -1598,6 +1599,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
1598
1599
|
messageId: assistantMsgId,
|
|
1599
1600
|
systemPrompt: assembledRequest.systemPrompt,
|
|
1600
1601
|
llmClient: attemptClient,
|
|
1602
|
+
sessionId,
|
|
1601
1603
|
messages: assembledRequest.messages,
|
|
1602
1604
|
tools: assembledRequest.tools,
|
|
1603
1605
|
toolChoice: "auto",
|
|
@@ -1729,7 +1731,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
1729
1731
|
currentMaxTokensOverride = void 0;
|
|
1730
1732
|
if (!compacting) {
|
|
1731
1733
|
const contextState = sessionManager.getContextState(sessionId);
|
|
1732
|
-
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-
|
|
1734
|
+
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-UREBHSZQ.js");
|
|
1733
1735
|
if (shouldCompact(
|
|
1734
1736
|
contextState.currentTokens,
|
|
1735
1737
|
contextState.maxTokens,
|
|
@@ -2445,7 +2447,7 @@ var callSubAgentTool = {
|
|
|
2445
2447
|
};
|
|
2446
2448
|
}
|
|
2447
2449
|
try {
|
|
2448
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
2450
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-AY6XEVJK.js");
|
|
2449
2451
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
2450
2452
|
const turnMetrics = new TurnMetrics();
|
|
2451
2453
|
const result = await executeSubAgent({
|
|
@@ -3549,11 +3551,11 @@ var mcpConfigTool = createTool(
|
|
|
3549
3551
|
async function notifyContextChanged(sessionId) {
|
|
3550
3552
|
context.sessionManager.setDynamicContextChanged(sessionId, true);
|
|
3551
3553
|
mcpNotifyChanged?.(sessionId);
|
|
3552
|
-
const { injectContextDriftReminders } = await import("./dynamic-context-
|
|
3554
|
+
const { injectContextDriftReminders } = await import("./dynamic-context-KGSZ7TRQ.js");
|
|
3553
3555
|
await injectContextDriftReminders(context.sessionManager, sessionId);
|
|
3554
3556
|
}
|
|
3555
3557
|
async function rebuildTools() {
|
|
3556
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
3558
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-AY6XEVJK.js");
|
|
3557
3559
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
3558
3560
|
setMcpTools2(mcpTools);
|
|
3559
3561
|
}
|
|
@@ -3562,7 +3564,7 @@ var mcpConfigTool = createTool(
|
|
|
3562
3564
|
if (servers.length === 0) {
|
|
3563
3565
|
return helpers.success(serverT({ en: "No MCP servers configured.", fr: "Aucun serveur MCP configur\xE9." }));
|
|
3564
3566
|
}
|
|
3565
|
-
const { getSessionDisabledServers: getSessionDisabledServers2 } = await import("./session-overrides-
|
|
3567
|
+
const { getSessionDisabledServers: getSessionDisabledServers2 } = await import("./session-overrides-7OPGV7CQ.js");
|
|
3566
3568
|
const disabledForSession = new Set(context.sessionId ? getSessionDisabledServers2(context.sessionId) : []);
|
|
3567
3569
|
const visibleServers = servers.filter((server) => !disabledForSession.has(server.name));
|
|
3568
3570
|
if (visibleServers.length === 0) {
|
|
@@ -4695,4 +4697,4 @@ export {
|
|
|
4695
4697
|
getToolRegistryForAgent,
|
|
4696
4698
|
createToolRegistry
|
|
4697
4699
|
};
|
|
4698
|
-
//# sourceMappingURL=chunk-
|
|
4700
|
+
//# sourceMappingURL=chunk-5MGCTRKM.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runAgentTurn
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GZJRXVVJ.js";
|
|
4
4
|
import {
|
|
5
5
|
executeSubAgent,
|
|
6
6
|
getToolRegistryForAgent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5MGCTRKM.js";
|
|
8
8
|
import {
|
|
9
9
|
gitSpawnEnv
|
|
10
10
|
} from "./chunk-J7GAZGZT.js";
|
|
@@ -15,39 +15,39 @@ import {
|
|
|
15
15
|
loadProjectWorkflows,
|
|
16
16
|
loadUserWorkflows,
|
|
17
17
|
normalizeWorkflowScope
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-TJOKDC34.js";
|
|
19
19
|
import {
|
|
20
20
|
serverT
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JLHYB445.js";
|
|
22
22
|
import {
|
|
23
23
|
TurnMetrics,
|
|
24
24
|
createMessageStartEvent
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-OA7KBQ2O.js";
|
|
26
26
|
import {
|
|
27
27
|
checkAborted,
|
|
28
28
|
decodeUtf8,
|
|
29
29
|
spawnShellProcess
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-UA2ATO3B.js";
|
|
31
31
|
import {
|
|
32
32
|
terminateProcessTree
|
|
33
33
|
} from "./chunk-I72ACQ6R.js";
|
|
34
34
|
import {
|
|
35
35
|
getCurrentContextWindowId,
|
|
36
36
|
getEventStore
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-JTR3PC5I.js";
|
|
38
38
|
import {
|
|
39
39
|
findAgentById,
|
|
40
40
|
getRuntimeConfig,
|
|
41
41
|
loadAllAgentsDefault,
|
|
42
42
|
resolveDefaultAgentId
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-4F4ARGAM.js";
|
|
44
44
|
import {
|
|
45
45
|
createChatMessageMessage,
|
|
46
46
|
createSessionRunningMessage
|
|
47
47
|
} from "./chunk-OVAHNEFG.js";
|
|
48
48
|
import {
|
|
49
49
|
LLMError
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-EE6VFEE6.js";
|
|
51
51
|
import {
|
|
52
52
|
logger
|
|
53
53
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -1023,4 +1023,4 @@ export {
|
|
|
1023
1023
|
abortRunnerRun,
|
|
1024
1024
|
launchWorkflowRun
|
|
1025
1025
|
};
|
|
1026
|
-
//# sourceMappingURL=chunk-
|
|
1026
|
+
//# sourceMappingURL=chunk-66XJC5TA.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultAgentId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4F4ARGAM.js";
|
|
4
4
|
import {
|
|
5
5
|
getDatabase
|
|
6
6
|
} from "./chunk-JU757HVI.js";
|
|
@@ -484,4 +484,4 @@ export {
|
|
|
484
484
|
getLatestWorkflowExecution,
|
|
485
485
|
clearWorkflowExecution
|
|
486
486
|
};
|
|
487
|
-
//# sourceMappingURL=chunk-
|
|
487
|
+
//# sourceMappingURL=chunk-7OHSAZLF.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultAgentId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4F4ARGAM.js";
|
|
4
4
|
import {
|
|
5
5
|
normalizeAskOptions
|
|
6
6
|
} from "./chunk-LCLH6ZUL.js";
|
|
@@ -983,4 +983,4 @@ export {
|
|
|
983
983
|
buildSnapshot,
|
|
984
984
|
buildSnapshotFromSessionState
|
|
985
985
|
};
|
|
986
|
-
//# sourceMappingURL=chunk-
|
|
986
|
+
//# sourceMappingURL=chunk-AE2IBEUH.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
deleteSetting,
|
|
12
12
|
getSetting,
|
|
13
13
|
setSetting
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EMXMTCSY.js";
|
|
15
15
|
|
|
16
16
|
// src/server/context/instructions.ts
|
|
17
17
|
import { readFile, access } from "fs/promises";
|
|
@@ -452,4 +452,4 @@ export {
|
|
|
452
452
|
deleteSkill,
|
|
453
453
|
deleteProjectSkill
|
|
454
454
|
};
|
|
455
|
-
//# sourceMappingURL=chunk-
|
|
455
|
+
//# sourceMappingURL=chunk-CRJ5J7U5.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETTINGS_KEYS,
|
|
3
3
|
getSetting
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EMXMTCSY.js";
|
|
5
5
|
import {
|
|
6
6
|
logger
|
|
7
7
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -44,7 +44,7 @@ var ChatHttpClient = class {
|
|
|
44
44
|
async post(params, options) {
|
|
45
45
|
const { url, headers, body } = this.buildRequest(params);
|
|
46
46
|
logger.debug("HTTP request to LLM", { url, bodyKeys: Object.keys(params) });
|
|
47
|
-
return postJson(url, headers, body, options);
|
|
47
|
+
return postJson(url, { ...headers, ...options?.headers }, body, options);
|
|
48
48
|
}
|
|
49
49
|
async createChatCompletion(params, options, returnRaw) {
|
|
50
50
|
const response = await this.post(params, options);
|
|
@@ -194,4 +194,4 @@ export {
|
|
|
194
194
|
ChatHttpClient,
|
|
195
195
|
OpenAIHttpClient
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=chunk-
|
|
197
|
+
//# sourceMappingURL=chunk-EE6VFEE6.js.map
|
|
@@ -31,6 +31,7 @@ var SETTINGS_KEYS = {
|
|
|
31
31
|
DISPLAY_COLLAPSE_FAVORITES_BY_DEFAULT: "display.collapseFavoritesByDefault",
|
|
32
32
|
DISPLAY_MODEL_FAVORITES: "display.modelFavorites",
|
|
33
33
|
LLM_DYNAMIC_SYSTEM_PROMPT: "llm.dynamicSystemPrompt",
|
|
34
|
+
LLM_CAVEMAN_THINKING: "llm.cavemanThinking",
|
|
34
35
|
CACHE_WARMING: "cache.warming",
|
|
35
36
|
KEYBINDINGS: "keybindings",
|
|
36
37
|
RETRY_PATTERNS: "agent.retryPatterns",
|
|
@@ -74,6 +75,7 @@ var SETTINGS_DEFAULTS = {
|
|
|
74
75
|
[SETTINGS_KEYS.DISPLAY_COLLAPSE_FAVORITES_BY_DEFAULT]: "false",
|
|
75
76
|
[SETTINGS_KEYS.DISPLAY_MODEL_FAVORITES]: "[]",
|
|
76
77
|
[SETTINGS_KEYS.LLM_DYNAMIC_SYSTEM_PROMPT]: "false",
|
|
78
|
+
[SETTINGS_KEYS.LLM_CAVEMAN_THINKING]: "false",
|
|
77
79
|
[SETTINGS_KEYS.CACHE_WARMING]: "false",
|
|
78
80
|
[SETTINGS_KEYS.RETRY_PATTERNS]: JSON.stringify({ patterns: [], maxRetriesPerTurn: 10 }),
|
|
79
81
|
[SETTINGS_KEYS.KEYBINDINGS]: JSON.stringify({
|
|
@@ -168,4 +170,4 @@ export {
|
|
|
168
170
|
pruneFavoriteModels,
|
|
169
171
|
getMaxVisibleItems
|
|
170
172
|
};
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
173
|
+
//# sourceMappingURL=chunk-EMXMTCSY.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
updateSessionMcpDisabledServers
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7OHSAZLF.js";
|
|
4
4
|
import {
|
|
5
5
|
getProject
|
|
6
6
|
} from "./chunk-DPFET73G.js";
|
|
@@ -96,4 +96,4 @@ export {
|
|
|
96
96
|
computeDisabledServersForProject,
|
|
97
97
|
initSessionMcpOverrides
|
|
98
98
|
};
|
|
99
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-FIEFBRTQ.js.map
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatformShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-46Q2SHGJ.js";
|
|
4
|
+
import {
|
|
5
|
+
SETTINGS_KEYS,
|
|
6
|
+
getSetting
|
|
7
|
+
} from "./chunk-EMXMTCSY.js";
|
|
4
8
|
|
|
5
9
|
// src/server/tools/tool-policy.ts
|
|
6
10
|
var ALWAYS_ALLOWED = /* @__PURE__ */ new Set(["step_done"]);
|
|
@@ -22,6 +26,30 @@ function computeEffectiveTools(allowedTools, type) {
|
|
|
22
26
|
|
|
23
27
|
// src/server/chat/prompts.ts
|
|
24
28
|
import { basename } from "path";
|
|
29
|
+
var CAVEMAN_THINKING_SECTION = `## THINKING STYLE
|
|
30
|
+
VERY IMPORTANT: think caveman style \u2014 fragments, no full sentences.
|
|
31
|
+
BANNED in thinking: "the", "a", "an", "I should", "Let me", "Need to", "Found it", "User asks", "Now, ".
|
|
32
|
+
NEVER restate the question or recap earlier steps. Each thinking block = one fresh fragment, straight to the point.
|
|
33
|
+
BAD vs GOOD:
|
|
34
|
+
- "Let me look at ChatInput.tsx." \u2192 "Check ChatInput.tsx."
|
|
35
|
+
- "I need to run the tests." \u2192 "Run tests."
|
|
36
|
+
- "I should read the file first." \u2192 "Read file first."
|
|
37
|
+
- "Let me search for the pause button." \u2192 "Search web/src for 'pause'."
|
|
38
|
+
- "User asks where the pause button is in the code." \u2192 "Question: pause button location."
|
|
39
|
+
- "Now, how is this exposed?" \u2192 "How exposed?"
|
|
40
|
+
- "I found the answer." \u2192 "Done."
|
|
41
|
+
Full trace example (one line per thinking block):
|
|
42
|
+
- "Question: pause button location. Plan mode \u2014 answer only, no criteria."
|
|
43
|
+
- "Search web/src for 'pause'."
|
|
44
|
+
- "ChatInput.tsx ~line 700, PauseIcon render."
|
|
45
|
+
- "Answer: ChatInput.tsx, pause/stop row, ~line 700."
|
|
46
|
+
More fragments:
|
|
47
|
+
- "Test red: title mismatch. Fix string in ChatInput."
|
|
48
|
+
- "Run typecheck after edit."
|
|
49
|
+
- "Read file before edit. Check imports."
|
|
50
|
+
- "Blocker: happy-dom, no layout. Assert classes."
|
|
51
|
+
- "Wait for dev server restart before testing."
|
|
52
|
+
Same meaning, far fewer tokens.`;
|
|
25
53
|
function buildBasePrompt(workdir, customInstructions, skills, modelName) {
|
|
26
54
|
const instructionsSection = customInstructions ? `
|
|
27
55
|
|
|
@@ -30,6 +58,9 @@ function buildBasePrompt(workdir, customInstructions, skills, modelName) {
|
|
|
30
58
|
${customInstructions}` : "";
|
|
31
59
|
const modelLine = modelName ? `
|
|
32
60
|
Model: ${modelName}` : "";
|
|
61
|
+
const cavemanSection = getSetting(SETTINGS_KEYS.LLM_CAVEMAN_THINKING) === "true" ? `
|
|
62
|
+
|
|
63
|
+
${CAVEMAN_THINKING_SECTION}` : "";
|
|
33
64
|
return `You are OpenFox, an agentic assistant.
|
|
34
65
|
|
|
35
66
|
Today's date is ${(/* @__PURE__ */ new Date()).toISOString().split("T")[0].replace(/-/g, "/")}
|
|
@@ -87,7 +118,7 @@ assistant: src/foo.c
|
|
|
87
118
|
|
|
88
119
|
user: write tests for new feature
|
|
89
120
|
assistant: [uses run_command tool to find where similar tests are defined, uses concurrent read file tool use blocks in one tool call to read relevant files at the same time, uses edit file tool to write new tests]
|
|
90
|
-
|
|
121
|
+
${cavemanSection}
|
|
91
122
|
## FILE REFERENCES
|
|
92
123
|
@ prefix, e.g. @src/index.ts or @web/components/.
|
|
93
124
|
Relative to the working directory above. Strip leading @ and resolve against working directory, never treat as absolute path.
|
|
@@ -246,4 +277,4 @@ export {
|
|
|
246
277
|
buildAgentSmallReminder,
|
|
247
278
|
COMPACTION_PROMPT
|
|
248
279
|
};
|
|
249
|
-
//# sourceMappingURL=chunk-
|
|
280
|
+
//# sourceMappingURL=chunk-GKRYQ56N.js.map
|