openfox 2.0.89 → 2.0.90
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 +13 -0
- package/dist/CHANGELOG.md +13 -0
- package/dist/{chat-handler-NOTXEOLF.js → chat-handler-JJQ3JBNF.js} +13 -13
- package/dist/{chunk-VFMHWU3E.js → chunk-2J7SLQXL.js} +3 -1
- package/dist/{chunk-RNXMN5QY.js → chunk-2QIYPQQH.js} +4 -4
- package/dist/{chunk-E5D7V7XC.js → chunk-3HH5UDVQ.js} +7 -7
- package/dist/{chunk-4S76VMPH.js → chunk-54LPSOO3.js} +3 -3
- package/dist/{chunk-5OGOPB3I.js → chunk-6PHUBUVH.js} +58 -58
- package/dist/{chunk-3QHXJ3DJ.js → chunk-74P4DTCU.js} +2 -2
- package/dist/{chunk-U2ECZUAX.js → chunk-7GF45BJV.js} +10 -10
- package/dist/{chunk-NTYWC6PD.js → chunk-BCVM2SPJ.js} +3 -3
- package/dist/{chunk-ANYBIATF.js → chunk-FIXFSGGZ.js} +2 -2
- package/dist/{chunk-J7R25K6N.js → chunk-GJN622K4.js} +4 -4
- package/dist/{chunk-SYU5GNPN.js → chunk-GR63QQFE.js} +2 -2
- package/dist/{chunk-7JC5YWST.js → chunk-KFKDFZJB.js} +12 -12
- package/dist/{chunk-7TFKWFY3.js → chunk-L6B6R5SN.js} +2 -2
- package/dist/{chunk-OVSB5SFF.js → chunk-LRTHLIRH.js} +11 -11
- package/dist/{chunk-AGYP7AUV.js → chunk-NJ3XNK3V.js} +2 -2
- package/dist/{chunk-2GQ7X2NP.js → chunk-OTKOSY6B.js} +2 -2
- package/dist/{chunk-TAHZHEJ4.js → chunk-VX5NASLY.js} +2 -2
- package/dist/{chunk-NGIOAASU.js → chunk-VXKY7J7W.js} +2 -2
- package/dist/{chunk-Q4OPCXV4.js → chunk-XKZZHAEZ.js} +2 -2
- package/dist/chunk-XMJLSFY5.js +7 -0
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-2KVPLIV4.js → client-2JELOQF7.js} +4 -4
- package/dist/{compactor-W2CUKE22.js → compactor-OW343YIO.js} +9 -9
- package/dist/{events-OD7MN3FL.js → events-U2BYC5MN.js} +6 -6
- package/dist/{folding-TDDQ5CXT.js → folding-RE7ZL7H7.js} +4 -4
- package/dist/{http-client-IPJGJXNJ.js → http-client-7QCN2R44.js} +3 -3
- package/dist/{manager-6UIC3QKJ.js → manager-X665RYDA.js} +4 -4
- package/dist/{orchestrator-NQDWCULY.js → orchestrator-BMU7DZ6F.js} +12 -12
- package/dist/package.json +1 -1
- package/dist/{path-security-M2JDUBKK.js → path-security-3BTT5ZCM.js} +7 -7
- package/dist/{platform-55N6FRRU.js → platform-2XTX4MRW.js} +3 -3
- package/dist/{processor-FE4ZJ7GS.js → processor-YIVQO2OY.js} +13 -13
- package/dist/{provider-I2P3NYUI.js → provider-IKKXQW6S.js} +5 -5
- package/dist/{provider-manager-OLDOHCR2.js → provider-manager-I35NHMOO.js} +5 -5
- package/dist/{serve-UMPDBCVG.js → serve-Q45HTS4J.js} +19 -19
- package/dist/server/index.js +18 -18
- package/dist/{server-4PB7BNE6.js → server-OP2Q2F3S.js} +14 -14
- package/dist/{sessions-Q6SYLG6U.js → sessions-SFM7XA3R.js} +4 -4
- package/dist/{settings-PFZWX6VY.js → settings-TCNHSYFX.js} +2 -2
- package/dist/{tools-NLKP65HF.js → tools-X7NAB4LZ.js} +11 -11
- package/dist/{update-BHTE5TMY.js → update-HHQGMX7P.js} +2 -2
- package/dist/web/assets/{index-C5sTYb--.js → index-BB8bp4oL.js} +87 -77
- package/dist/web/assets/index-flzB-55v.css +32 -0
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-TH4JF6XP.js +0 -7
- package/dist/web/assets/index-BQfVUhSC.css +0 -32
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.90 - 2026-07-24
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Compact sidebar summary header** — when the right sidebar is hidden, a compact bar shows workspace/branch, metadata status, token context, and dev server controls with clickable popovers for full details.
|
|
8
|
+
- **Scroll-to-top button in chat feed** — hover to reveal at the top of the message list; click to scroll up and disable auto-scroll.
|
|
9
|
+
- **Scrollbar preset picker with Custom CSS editor** — choose from built-in scrollbar styles or write your own CSS in the Display settings.
|
|
10
|
+
|
|
11
|
+
### Enhancements
|
|
12
|
+
|
|
13
|
+
- **Native browser scrollbars by default** — replaced custom scrollbar CSS with native scrollbars for better platform consistency; power users can customize via the new CSS editor.
|
|
14
|
+
- **Long session names truncated at 50 characters** — header dropdown, session list, and mobile nav now cap overly long names.
|
|
15
|
+
|
|
3
16
|
## 2.0.89 - 2026-07-23
|
|
4
17
|
|
|
5
18
|
### Features
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.90 - 2026-07-24
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Compact sidebar summary header** — when the right sidebar is hidden, a compact bar shows workspace/branch, metadata status, token context, and dev server controls with clickable popovers for full details.
|
|
8
|
+
- **Scroll-to-top button in chat feed** — hover to reveal at the top of the message list; click to scroll up and disable auto-scroll.
|
|
9
|
+
- **Scrollbar preset picker with Custom CSS editor** — choose from built-in scrollbar styles or write your own CSS in the Display settings.
|
|
10
|
+
|
|
11
|
+
### Enhancements
|
|
12
|
+
|
|
13
|
+
- **Native browser scrollbars by default** — replaced custom scrollbar CSS with native scrollbars for better platform consistency; power users can customize via the new CSS editor.
|
|
14
|
+
- **Long session names truncated at 50 characters** — header dropdown, session list, and mobile nav now cap overly long names.
|
|
15
|
+
|
|
3
16
|
## 2.0.89 - 2026-07-23
|
|
4
17
|
|
|
5
18
|
### Features
|
|
@@ -2,39 +2,39 @@ import {
|
|
|
2
2
|
buildRunChatTurnParams,
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3HH5UDVQ.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-7GF45BJV.js";
|
|
9
|
+
import "./chunk-KFKDFZJB.js";
|
|
10
|
+
import "./chunk-OTKOSY6B.js";
|
|
11
11
|
import "./chunk-NWO6GRYE.js";
|
|
12
12
|
import "./chunk-VPFUXGMM.js";
|
|
13
13
|
import "./chunk-67AVIA5G.js";
|
|
14
14
|
import "./chunk-J7GAZGZT.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-74P4DTCU.js";
|
|
16
16
|
import {
|
|
17
17
|
createChatMessageMessage,
|
|
18
18
|
createPhaseChangedMessage,
|
|
19
19
|
createSessionRunningMessage
|
|
20
20
|
} from "./chunk-47WNBFDO.js";
|
|
21
21
|
import "./chunk-EU3WWTFH.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-VXKY7J7W.js";
|
|
23
|
+
import "./chunk-FIXFSGGZ.js";
|
|
24
24
|
import "./chunk-J2IVK667.js";
|
|
25
25
|
import "./chunk-Q6AKRIM2.js";
|
|
26
26
|
import "./chunk-I72ACQ6R.js";
|
|
27
27
|
import {
|
|
28
28
|
getEventStore
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
29
|
+
} from "./chunk-2QIYPQQH.js";
|
|
30
|
+
import "./chunk-NJ3XNK3V.js";
|
|
31
|
+
import "./chunk-VX5NASLY.js";
|
|
32
|
+
import "./chunk-L6B6R5SN.js";
|
|
33
33
|
import "./chunk-J2GP3J3X.js";
|
|
34
34
|
import "./chunk-V4IE7HJY.js";
|
|
35
35
|
import "./chunk-YHEQTVFV.js";
|
|
36
36
|
import "./chunk-RMXPVQP4.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-2J7SLQXL.js";
|
|
38
38
|
import "./chunk-EZWSS7LG.js";
|
|
39
39
|
import "./chunk-K44MW7JJ.js";
|
|
40
40
|
import "./chunk-U7RLUZBP.js";
|
|
@@ -161,4 +161,4 @@ export {
|
|
|
161
161
|
startChatSession,
|
|
162
162
|
stopSessionExecution
|
|
163
163
|
};
|
|
164
|
-
//# sourceMappingURL=chat-handler-
|
|
164
|
+
//# sourceMappingURL=chat-handler-JJQ3JBNF.js.map
|
|
@@ -17,6 +17,7 @@ var SETTINGS_KEYS = {
|
|
|
17
17
|
DISPLAY_SHOW_OPEN_IN_EDITOR: "display.showOpenInEditorLinks",
|
|
18
18
|
DISPLAY_SHOW_CHANGELOG_ON_UPDATE: "display.showChangelogOnUpdate",
|
|
19
19
|
DISPLAY_MAX_VISIBLE_ITEMS: "display.maxVisibleItems",
|
|
20
|
+
DISPLAY_CUSTOM_CSS: "display.customCss",
|
|
20
21
|
LLM_DYNAMIC_SYSTEM_PROMPT: "llm.dynamicSystemPrompt",
|
|
21
22
|
CACHE_WARMING: "cache.warming",
|
|
22
23
|
KEYBINDINGS: "keybindings",
|
|
@@ -44,6 +45,7 @@ var SETTINGS_DEFAULTS = {
|
|
|
44
45
|
[SETTINGS_KEYS.DISPLAY_SHOW_OPEN_IN_EDITOR]: "false",
|
|
45
46
|
[SETTINGS_KEYS.DISPLAY_SHOW_CHANGELOG_ON_UPDATE]: "true",
|
|
46
47
|
[SETTINGS_KEYS.DISPLAY_MAX_VISIBLE_ITEMS]: "300",
|
|
48
|
+
[SETTINGS_KEYS.DISPLAY_CUSTOM_CSS]: "",
|
|
47
49
|
[SETTINGS_KEYS.LLM_DYNAMIC_SYSTEM_PROMPT]: "false",
|
|
48
50
|
[SETTINGS_KEYS.CACHE_WARMING]: "false",
|
|
49
51
|
[SETTINGS_KEYS.RETRY_PATTERNS]: JSON.stringify({ patterns: [], maxRetriesPerTurn: 10 }),
|
|
@@ -112,4 +114,4 @@ export {
|
|
|
112
114
|
getAllSettings,
|
|
113
115
|
getMaxVisibleItems
|
|
114
116
|
};
|
|
115
|
-
//# sourceMappingURL=chunk-
|
|
117
|
+
//# sourceMappingURL=chunk-2J7SLQXL.js.map
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
foldContextState,
|
|
6
6
|
foldSessionState,
|
|
7
7
|
spreadOptionalMessageFields
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NJ3XNK3V.js";
|
|
9
9
|
import {
|
|
10
10
|
updateSessionMessageCount
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-VX5NASLY.js";
|
|
12
12
|
import {
|
|
13
13
|
getRuntimeConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-L6B6R5SN.js";
|
|
15
15
|
import {
|
|
16
16
|
logger
|
|
17
17
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -1159,4 +1159,4 @@ export {
|
|
|
1159
1159
|
truncateSessionMessages,
|
|
1160
1160
|
getRecentUserPromptsForSession
|
|
1161
1161
|
};
|
|
1162
|
-
//# sourceMappingURL=chunk-
|
|
1162
|
+
//# sourceMappingURL=chunk-2QIYPQQH.js.map
|
|
@@ -8,20 +8,20 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
combineEventsWithSnapshot,
|
|
10
10
|
getEventStore
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2QIYPQQH.js";
|
|
12
12
|
import {
|
|
13
13
|
buildMessagesFromStoredEvents,
|
|
14
14
|
foldPendingConfirmations
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NJ3XNK3V.js";
|
|
16
16
|
import {
|
|
17
17
|
updateSessionMetadata
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VX5NASLY.js";
|
|
19
19
|
import {
|
|
20
20
|
getRuntimeConfig
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-L6B6R5SN.js";
|
|
22
22
|
import {
|
|
23
23
|
getMaxVisibleItems
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-2J7SLQXL.js";
|
|
25
25
|
import {
|
|
26
26
|
logger
|
|
27
27
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -153,7 +153,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
|
|
|
153
153
|
client = deps.getLLMClient();
|
|
154
154
|
client.setModel(providerConfig.model);
|
|
155
155
|
} else if (providerConfig) {
|
|
156
|
-
const { createLLMClient } = await import("./client-
|
|
156
|
+
const { createLLMClient } = await import("./client-2JELOQF7.js");
|
|
157
157
|
client = createLLMClient({
|
|
158
158
|
llm: {
|
|
159
159
|
baseUrl: providerConfig.baseUrl,
|
|
@@ -202,4 +202,4 @@ export {
|
|
|
202
202
|
buildRunChatTurnParams,
|
|
203
203
|
generateSessionNameForSession
|
|
204
204
|
};
|
|
205
|
-
//# sourceMappingURL=chunk-
|
|
205
|
+
//# sourceMappingURL=chunk-3HH5UDVQ.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
COMPACTION_PROMPT,
|
|
3
3
|
createMessageStartEvent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VXKY7J7W.js";
|
|
5
5
|
import {
|
|
6
6
|
getCurrentWindowMessageOptions
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2QIYPQQH.js";
|
|
8
8
|
|
|
9
9
|
// src/server/context/compactor.ts
|
|
10
10
|
function appendCompactionPrompt(sessionId, append) {
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
COMPACTION_MAX_RATIO,
|
|
35
35
|
shouldCompact
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-54LPSOO3.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
tokenFromPassword,
|
|
22
22
|
verifyPassword,
|
|
23
23
|
workflowExists
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-LRTHLIRH.js";
|
|
25
25
|
import {
|
|
26
26
|
createToolRegistry,
|
|
27
27
|
deleteOwnedSkill,
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
setSkillEnabled,
|
|
48
48
|
skillExists,
|
|
49
49
|
updateOwnedSkill
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-KFKDFZJB.js";
|
|
51
51
|
import {
|
|
52
52
|
createMcpTools
|
|
53
53
|
} from "./chunk-NWO6GRYE.js";
|
|
@@ -76,11 +76,11 @@ import {
|
|
|
76
76
|
ALWAYS_ALLOWED,
|
|
77
77
|
ALWAYS_ALLOWED_FOR_SUBAGENTS,
|
|
78
78
|
TOP_LEVEL_ONLY_TOOLS
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-VXKY7J7W.js";
|
|
80
80
|
import {
|
|
81
81
|
getPathSeparator,
|
|
82
82
|
isAbsolutePath
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-FIXFSGGZ.js";
|
|
84
84
|
import {
|
|
85
85
|
getProject,
|
|
86
86
|
getProjectByWorkdir,
|
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
} from "./chunk-Q6AKRIM2.js";
|
|
89
89
|
import {
|
|
90
90
|
VERSION
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-XMJLSFY5.js";
|
|
92
92
|
import {
|
|
93
93
|
emitAssistantMessageStart,
|
|
94
94
|
emitContextState,
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
getEventStore,
|
|
105
105
|
getSessionState,
|
|
106
106
|
initEventStore
|
|
107
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-2QIYPQQH.js";
|
|
108
108
|
import {
|
|
109
109
|
createSession,
|
|
110
110
|
deleteSession,
|
|
@@ -120,7 +120,7 @@ import {
|
|
|
120
120
|
updateSessionProvider,
|
|
121
121
|
updateSessionRunning,
|
|
122
122
|
updateSessionWorkdir
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-VX5NASLY.js";
|
|
124
124
|
import {
|
|
125
125
|
agentExists,
|
|
126
126
|
deleteAgent,
|
|
@@ -142,13 +142,13 @@ import {
|
|
|
142
142
|
saveAgentToProject,
|
|
143
143
|
saveItemToDir,
|
|
144
144
|
setRuntimeConfig
|
|
145
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-L6B6R5SN.js";
|
|
146
146
|
import {
|
|
147
147
|
createProviderManager,
|
|
148
148
|
detectModel,
|
|
149
149
|
getLlmStatus,
|
|
150
150
|
parseDefaultModelSelection
|
|
151
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-BCVM2SPJ.js";
|
|
152
152
|
import {
|
|
153
153
|
getModelProfile
|
|
154
154
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -162,12 +162,12 @@ import {
|
|
|
162
162
|
SessionNotFoundError,
|
|
163
163
|
WorkspaceInUseError,
|
|
164
164
|
proxyFetch
|
|
165
|
-
} from "./chunk-
|
|
165
|
+
} from "./chunk-GR63QQFE.js";
|
|
166
166
|
import {
|
|
167
167
|
deleteSetting,
|
|
168
168
|
getSetting,
|
|
169
169
|
setSetting
|
|
170
|
-
} from "./chunk-
|
|
170
|
+
} from "./chunk-2J7SLQXL.js";
|
|
171
171
|
import {
|
|
172
172
|
initDatabase
|
|
173
173
|
} from "./chunk-EZWSS7LG.js";
|
|
@@ -5516,7 +5516,7 @@ async function createServerHandle(config3) {
|
|
|
5516
5516
|
setMcpTools(mcpTools);
|
|
5517
5517
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
5518
5518
|
}
|
|
5519
|
-
const { signalMcpReady } = await import("./server-
|
|
5519
|
+
const { signalMcpReady } = await import("./server-OP2Q2F3S.js");
|
|
5520
5520
|
signalMcpReady();
|
|
5521
5521
|
});
|
|
5522
5522
|
const app = express();
|
|
@@ -5709,7 +5709,7 @@ async function createServerHandle(config3) {
|
|
|
5709
5709
|
}
|
|
5710
5710
|
try {
|
|
5711
5711
|
await checkoutBranch(project.workdir, branch);
|
|
5712
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
5712
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-SFM7XA3R.js");
|
|
5713
5713
|
const allSessions = sessionManager.listSessions();
|
|
5714
5714
|
for (const s of allSessions) {
|
|
5715
5715
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -5745,7 +5745,7 @@ async function createServerHandle(config3) {
|
|
|
5745
5745
|
);
|
|
5746
5746
|
}
|
|
5747
5747
|
await createBranch(project.workdir, name, sb);
|
|
5748
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
5748
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-SFM7XA3R.js");
|
|
5749
5749
|
const allSessions = sessionManager.listSessions();
|
|
5750
5750
|
for (const s of allSessions) {
|
|
5751
5751
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -5777,7 +5777,7 @@ async function createServerHandle(config3) {
|
|
|
5777
5777
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
5778
5778
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
5779
5779
|
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-N4QHV6J2.js");
|
|
5780
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
5780
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-SFM7XA3R.js");
|
|
5781
5781
|
try {
|
|
5782
5782
|
await validateRef2(effectiveWorkdir, branch);
|
|
5783
5783
|
await checkoutBranch(effectiveWorkdir, branch);
|
|
@@ -5820,7 +5820,7 @@ All file and git operations should use this branch.
|
|
|
5820
5820
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
5821
5821
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
5822
5822
|
const { validateRef: validateRef2 } = await import("./workspace-N4QHV6J2.js");
|
|
5823
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
5823
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-SFM7XA3R.js");
|
|
5824
5824
|
try {
|
|
5825
5825
|
await validateRef2(effectiveWorkdir, name);
|
|
5826
5826
|
if (sourceBranch) {
|
|
@@ -5875,8 +5875,8 @@ All file and git operations should use this branch.
|
|
|
5875
5875
|
res.json({ workspaces: workspacesList });
|
|
5876
5876
|
});
|
|
5877
5877
|
app.get("/api/sessions", async (req, res) => {
|
|
5878
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
5879
|
-
const { getPendingConfirmationsBySession } = await import("./path-security-
|
|
5878
|
+
const { getRecentUserPromptsForSession } = await import("./events-U2BYC5MN.js");
|
|
5879
|
+
const { getPendingConfirmationsBySession } = await import("./path-security-3BTT5ZCM.js");
|
|
5880
5880
|
const projectId = req.query["projectId"];
|
|
5881
5881
|
const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
|
|
5882
5882
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -5982,10 +5982,10 @@ All file and git operations should use this branch.
|
|
|
5982
5982
|
}
|
|
5983
5983
|
});
|
|
5984
5984
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
5985
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-
|
|
5986
|
-
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-
|
|
5987
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
5988
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
5985
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-U2BYC5MN.js");
|
|
5986
|
+
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-RE7ZL7H7.js");
|
|
5987
|
+
const { getPendingQuestionsForSession } = await import("./tools-X7NAB4LZ.js");
|
|
5988
|
+
const { getMaxVisibleItems } = await import("./settings-TCNHSYFX.js");
|
|
5989
5989
|
const session = sessionManager.getSession(req.params.id);
|
|
5990
5990
|
if (!session) {
|
|
5991
5991
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -6015,8 +6015,8 @@ All file and git operations should use this branch.
|
|
|
6015
6015
|
if (!session) {
|
|
6016
6016
|
return res.status(404).json({ error: "Session not found" });
|
|
6017
6017
|
}
|
|
6018
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
6019
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
6018
|
+
const { stopSessionExecution } = await import("./chat-handler-JJQ3JBNF.js");
|
|
6019
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-X7NAB4LZ.js");
|
|
6020
6020
|
sessionManager.clearMessageQueue(sessionId);
|
|
6021
6021
|
stopSessionExecution(sessionId, sessionManager);
|
|
6022
6022
|
abortSession(sessionId);
|
|
@@ -6045,9 +6045,9 @@ All file and git operations should use this branch.
|
|
|
6045
6045
|
res.json({ success: true });
|
|
6046
6046
|
});
|
|
6047
6047
|
app.post("/api/sessions/:id/provider", async (req, res) => {
|
|
6048
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
6049
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-
|
|
6050
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6048
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-U2BYC5MN.js");
|
|
6049
|
+
const { buildMessagesFromStoredEvents } = await import("./folding-RE7ZL7H7.js");
|
|
6050
|
+
const { getMaxVisibleItems } = await import("./settings-TCNHSYFX.js");
|
|
6051
6051
|
const sessionId = req.params.id;
|
|
6052
6052
|
const session = sessionManager.getSession(sessionId);
|
|
6053
6053
|
if (!session) {
|
|
@@ -6160,9 +6160,9 @@ All file and git operations should use this branch.
|
|
|
6160
6160
|
res.json({ success: true });
|
|
6161
6161
|
});
|
|
6162
6162
|
app.put("/api/sessions/:id/mode", async (req, res) => {
|
|
6163
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
6164
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-
|
|
6165
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6163
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-U2BYC5MN.js");
|
|
6164
|
+
const { buildMessagesFromStoredEvents } = await import("./folding-RE7ZL7H7.js");
|
|
6165
|
+
const { getMaxVisibleItems } = await import("./settings-TCNHSYFX.js");
|
|
6166
6166
|
const sessionId = req.params.id;
|
|
6167
6167
|
const session = sessionManager.getSession(sessionId);
|
|
6168
6168
|
if (!session) {
|
|
@@ -6223,7 +6223,7 @@ All file and git operations should use this branch.
|
|
|
6223
6223
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
6224
6224
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
6225
6225
|
}
|
|
6226
|
-
const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-
|
|
6226
|
+
const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-X7NAB4LZ.js");
|
|
6227
6227
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
6228
6228
|
if (!pendingSessionId) {
|
|
6229
6229
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -6235,11 +6235,11 @@ All file and git operations should use this branch.
|
|
|
6235
6235
|
if (!result.found) {
|
|
6236
6236
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
6237
6237
|
}
|
|
6238
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-
|
|
6239
|
-
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-
|
|
6238
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-U2BYC5MN.js");
|
|
6239
|
+
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-RE7ZL7H7.js");
|
|
6240
6240
|
const { createSessionStateMessage } = await import("./protocol-BUA2W2KM.js");
|
|
6241
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
6242
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6241
|
+
const { getPendingQuestionsForSession } = await import("./tools-X7NAB4LZ.js");
|
|
6242
|
+
const { getMaxVisibleItems } = await import("./settings-TCNHSYFX.js");
|
|
6243
6243
|
const eventStore = getEventStore2();
|
|
6244
6244
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
6245
6245
|
const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
|
|
@@ -6275,7 +6275,7 @@ All file and git operations should use this branch.
|
|
|
6275
6275
|
if (!skip && typeof answer !== "string") {
|
|
6276
6276
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
6277
6277
|
}
|
|
6278
|
-
const { provideAnswer } = await import("./tools-
|
|
6278
|
+
const { provideAnswer } = await import("./tools-X7NAB4LZ.js");
|
|
6279
6279
|
const found = provideAnswer(callId, answer ?? "", skip ?? false);
|
|
6280
6280
|
if (!found) {
|
|
6281
6281
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -6303,7 +6303,7 @@ All file and git operations should use this branch.
|
|
|
6303
6303
|
if (!session) {
|
|
6304
6304
|
return res.status(404).json({ error: "Session not found" });
|
|
6305
6305
|
}
|
|
6306
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
6306
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TCNHSYFX.js");
|
|
6307
6307
|
if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
|
|
6308
6308
|
return res.json({ success: false, reason: "disabled" });
|
|
6309
6309
|
}
|
|
@@ -6335,7 +6335,7 @@ All file and git operations should use this branch.
|
|
|
6335
6335
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
6336
6336
|
model: llmClient.getModel()
|
|
6337
6337
|
};
|
|
6338
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
6338
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BMU7DZ6F.js");
|
|
6339
6339
|
runAgentTurn(
|
|
6340
6340
|
{
|
|
6341
6341
|
sessionManager,
|
|
@@ -6373,15 +6373,15 @@ All file and git operations should use this branch.
|
|
|
6373
6373
|
if (!session) {
|
|
6374
6374
|
return res.status(404).json({ error: "Session not found" });
|
|
6375
6375
|
}
|
|
6376
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
6377
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
6376
|
+
const { stopSessionExecution } = await import("./chat-handler-JJQ3JBNF.js");
|
|
6377
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-X7NAB4LZ.js");
|
|
6378
6378
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
6379
6379
|
sessionManager.clearMessageQueue(sessionId);
|
|
6380
6380
|
stopSessionExecution(sessionId, sessionManager);
|
|
6381
6381
|
abortSession(sessionId);
|
|
6382
6382
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
6383
6383
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
6384
|
-
const eventStore = (await import("./events-
|
|
6384
|
+
const eventStore = (await import("./events-U2BYC5MN.js")).getEventStore();
|
|
6385
6385
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
6386
6386
|
res.json({ success: true, queuedMessages });
|
|
6387
6387
|
});
|
|
@@ -6395,7 +6395,7 @@ All file and git operations should use this branch.
|
|
|
6395
6395
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
6396
6396
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
6397
6397
|
}
|
|
6398
|
-
const { truncateSessionMessages } = await import("./events-
|
|
6398
|
+
const { truncateSessionMessages } = await import("./events-U2BYC5MN.js");
|
|
6399
6399
|
truncateSessionMessages(sessionId, messageIndex);
|
|
6400
6400
|
res.json({ success: true });
|
|
6401
6401
|
});
|
|
@@ -6412,8 +6412,8 @@ All file and git operations should use this branch.
|
|
|
6412
6412
|
if (content !== void 0 && (typeof content !== "string" || !content.trim())) {
|
|
6413
6413
|
return res.status(400).json({ error: "content must be a non-empty string if provided" });
|
|
6414
6414
|
}
|
|
6415
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
6416
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-
|
|
6415
|
+
const { getEventStore: getEventStore2 } = await import("./events-U2BYC5MN.js");
|
|
6416
|
+
const { buildMessagesFromStoredEvents } = await import("./folding-RE7ZL7H7.js");
|
|
6417
6417
|
const eventStore = getEventStore2();
|
|
6418
6418
|
const events = eventStore.getEvents(sessionId);
|
|
6419
6419
|
const { messages } = buildMessagesFromStoredEvents(events);
|
|
@@ -6425,7 +6425,7 @@ All file and git operations should use this branch.
|
|
|
6425
6425
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
6426
6426
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
6427
6427
|
}
|
|
6428
|
-
const { truncateSessionMessages } = await import("./events-
|
|
6428
|
+
const { truncateSessionMessages } = await import("./events-U2BYC5MN.js");
|
|
6429
6429
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
6430
6430
|
sessionManager.queueMessage(sessionId, "asap", content ?? msg.content, msg.attachments, msg.messageKind);
|
|
6431
6431
|
res.json({ success: true });
|
|
@@ -6481,7 +6481,7 @@ All file and git operations should use this branch.
|
|
|
6481
6481
|
res.json({ accepted: true });
|
|
6482
6482
|
});
|
|
6483
6483
|
app.get("/api/settings", async (req, res) => {
|
|
6484
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
6484
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TCNHSYFX.js");
|
|
6485
6485
|
const keysParam = req.query["keys"];
|
|
6486
6486
|
if (!keysParam) {
|
|
6487
6487
|
return res.status(400).json({ error: "keys query parameter is required" });
|
|
@@ -6494,19 +6494,19 @@ All file and git operations should use this branch.
|
|
|
6494
6494
|
res.json(result);
|
|
6495
6495
|
});
|
|
6496
6496
|
app.get("/api/settings/:key", async (req, res) => {
|
|
6497
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
6497
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TCNHSYFX.js");
|
|
6498
6498
|
const key = req.params.key;
|
|
6499
6499
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
6500
6500
|
res.json({ key, value });
|
|
6501
6501
|
});
|
|
6502
6502
|
app.get("/api/settings/:key", async (req, res) => {
|
|
6503
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
6503
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TCNHSYFX.js");
|
|
6504
6504
|
const key = req.params.key;
|
|
6505
6505
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
6506
6506
|
res.json({ key, value });
|
|
6507
6507
|
});
|
|
6508
6508
|
app.put("/api/settings/:key", async (req, res) => {
|
|
6509
|
-
const { setSetting: setSetting2 } = await import("./settings-
|
|
6509
|
+
const { setSetting: setSetting2 } = await import("./settings-TCNHSYFX.js");
|
|
6510
6510
|
const key = req.params.key;
|
|
6511
6511
|
const { value } = req.body;
|
|
6512
6512
|
if (value === void 0) {
|
|
@@ -6533,7 +6533,7 @@ All file and git operations should use this branch.
|
|
|
6533
6533
|
}
|
|
6534
6534
|
});
|
|
6535
6535
|
app.get("/api/tools/shells", async (_req, res) => {
|
|
6536
|
-
const { listAvailableShells } = await import("./platform-
|
|
6536
|
+
const { listAvailableShells } = await import("./platform-2XTX4MRW.js");
|
|
6537
6537
|
res.json({ shells: listAvailableShells() });
|
|
6538
6538
|
});
|
|
6539
6539
|
app.get("/api/config", async (_req, res) => {
|
|
@@ -6692,7 +6692,7 @@ All file and git operations should use this branch.
|
|
|
6692
6692
|
}
|
|
6693
6693
|
});
|
|
6694
6694
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
6695
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
6695
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TCNHSYFX.js");
|
|
6696
6696
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
6697
6697
|
if (!proxyUrl) {
|
|
6698
6698
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -6719,7 +6719,7 @@ All file and git operations should use this branch.
|
|
|
6719
6719
|
const backend = req.query["backend"];
|
|
6720
6720
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
6721
6721
|
try {
|
|
6722
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
6722
|
+
const { fetchModelsWithContext } = await import("./provider-manager-I35NHMOO.js");
|
|
6723
6723
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
6724
6724
|
const models = await fetchModelsWithContext(
|
|
6725
6725
|
url,
|
|
@@ -6790,7 +6790,7 @@ All file and git operations should use this branch.
|
|
|
6790
6790
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
6791
6791
|
const { getBackendCapabilities } = await import("./backend-P3GHHLHJ.js");
|
|
6792
6792
|
const { buildNonStreamingCreateParams } = await import("./client-pure-5YE5WFJP.js");
|
|
6793
|
-
const { OpenAIHttpClient } = await import("./http-client-
|
|
6793
|
+
const { OpenAIHttpClient } = await import("./http-client-7QCN2R44.js");
|
|
6794
6794
|
const { ensureVersionPrefix } = await import("./url-utils-SAJP7AEX.js");
|
|
6795
6795
|
const profile = getModelProfile2(model);
|
|
6796
6796
|
const capabilities = getBackendCapabilities(backend || "unknown");
|
|
@@ -7048,7 +7048,7 @@ All file and git operations should use this branch.
|
|
|
7048
7048
|
});
|
|
7049
7049
|
async function rebuildMcpTools() {
|
|
7050
7050
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-MOGEI6TP.js");
|
|
7051
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
7051
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-X7NAB4LZ.js");
|
|
7052
7052
|
const mcpTools = createMcpTools2(mcpManager);
|
|
7053
7053
|
setMcpTools2(mcpTools);
|
|
7054
7054
|
}
|
|
@@ -7295,13 +7295,13 @@ All file and git operations should use this branch.
|
|
|
7295
7295
|
})
|
|
7296
7296
|
);
|
|
7297
7297
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
7298
|
-
const { getSessionProcesses } = await import("./manager-
|
|
7298
|
+
const { getSessionProcesses } = await import("./manager-X665RYDA.js");
|
|
7299
7299
|
const sessionId = req.params.id;
|
|
7300
7300
|
const processes = getSessionProcesses(sessionId);
|
|
7301
7301
|
res.json({ processes });
|
|
7302
7302
|
});
|
|
7303
7303
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
7304
|
-
const { stopProcess } = await import("./manager-
|
|
7304
|
+
const { stopProcess } = await import("./manager-X665RYDA.js");
|
|
7305
7305
|
const sessionId = req.params.id;
|
|
7306
7306
|
const processId = req.params.processId;
|
|
7307
7307
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -7444,7 +7444,7 @@ All file and git operations should use this branch.
|
|
|
7444
7444
|
const state = sessionManager.getContextState(sessionId);
|
|
7445
7445
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
7446
7446
|
});
|
|
7447
|
-
const { QueueProcessor } = await import("./processor-
|
|
7447
|
+
const { QueueProcessor } = await import("./processor-YIVQO2OY.js");
|
|
7448
7448
|
const queueProcessor = new QueueProcessor({
|
|
7449
7449
|
sessionManager,
|
|
7450
7450
|
providerManager,
|
|
@@ -7528,4 +7528,4 @@ export {
|
|
|
7528
7528
|
createServerHandle,
|
|
7529
7529
|
createServer
|
|
7530
7530
|
};
|
|
7531
|
-
//# sourceMappingURL=chunk-
|
|
7531
|
+
//# sourceMappingURL=chunk-6PHUBUVH.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-47WNBFDO.js";
|
|
4
4
|
import {
|
|
5
5
|
getEventStore
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2QIYPQQH.js";
|
|
7
7
|
|
|
8
8
|
// src/server/tools/path-security.ts
|
|
9
9
|
import { realpath } from "fs/promises";
|
|
@@ -494,4 +494,4 @@ export {
|
|
|
494
494
|
getConfirmationSessionId,
|
|
495
495
|
getPendingConfirmationsBySession
|
|
496
496
|
};
|
|
497
|
-
//# sourceMappingURL=chunk-
|
|
497
|
+
//# sourceMappingURL=chunk-74P4DTCU.js.map
|