openfox 2.0.95 → 2.0.97
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 +23 -0
- package/dist/CHANGELOG.md +23 -0
- package/dist/{chat-handler-5FV3TGQD.js → chat-handler-XXXMTO7W.js} +16 -16
- package/dist/{chunk-SJJVNSA6.js → chunk-2VJIQEZE.js} +41 -5
- package/dist/{chunk-OHBY2673.js → chunk-3LRYZ7R3.js} +46 -3
- package/dist/{chunk-W7P5P54O.js → chunk-3W6STALV.js} +2 -2
- package/dist/chunk-62QCBNPE.js +15 -0
- package/dist/{chunk-OZD247P4.js → chunk-C3XL7X4E.js} +8 -8
- package/dist/{chunk-D6T3X22W.js → chunk-CCEG3AFM.js} +14 -14
- package/dist/{chunk-YPBV47DH.js → chunk-CSKPPHD3.js} +2 -2
- package/dist/{chunk-62X2MPO6.js → chunk-D3SXT3BL.js} +4 -4
- package/dist/chunk-DRMYR6BF.js +7 -0
- package/dist/{chunk-ZMSHE564.js → chunk-G5JFKTSR.js} +2 -2
- package/dist/{chunk-KG2PJVOE.js → chunk-GPGJBDI6.js} +187 -80
- package/dist/{chunk-YCPUV7AR.js → chunk-HJEATCSM.js} +7 -7
- package/dist/{chunk-7P7OKBYQ.js → chunk-KNYPBXPW.js} +4 -4
- package/dist/{chunk-MC3MCMAF.js → chunk-KQPDU65K.js} +2 -2
- package/dist/{chunk-MB7STVMR.js → chunk-LZW5LSVH.js} +5 -5
- package/dist/{chunk-P637C6X3.js → chunk-O2PLNJIU.js} +2 -2
- package/dist/{chunk-6RHMIMID.js → chunk-O5YWFX7H.js} +21 -25
- package/dist/{chunk-5UFTFBNW.js → chunk-T3INQCET.js} +6 -6
- package/dist/{chunk-OQTLFO4R.js → chunk-URQQOUCS.js} +46 -3
- package/dist/{chunk-5N5JXT7R.js → chunk-XLI6PDJG.js} +2 -2
- package/dist/{chunk-TSHJW7OC.js → chunk-ZIMGU5ZH.js} +2 -2
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-RENSCJPZ.js → client-IK47PLPP.js} +2 -2
- package/dist/{compactor-3RXIAIPR.js → compactor-U7EUKEUE.js} +6 -6
- package/dist/{config-XIYAPMX3.js → config-M7RDIFC5.js} +4 -2
- package/dist/{dynamic-context-CJFDFUJF.js → dynamic-context-TDB4G5CH.js} +4 -4
- package/dist/{events-QHZDLHEB.js → events-4THEZWVL.js} +5 -5
- package/dist/{folding-O4OYOTPS.js → folding-OYBO2NTH.js} +3 -3
- package/dist/openFolder-Z27FEM5M.js +8 -0
- package/dist/{orchestrator-LDVMBC23.js → orchestrator-MTCF2EPU.js} +13 -13
- package/dist/package.json +1 -1
- package/dist/{path-security-72KGHGSV.js → path-security-6GYETPWN.js} +6 -6
- package/dist/{processor-32QUVPV6.js → processor-F3EZWNPO.js} +13 -13
- package/dist/{provider-A74GHQUO.js → provider-5KFIZM5T.js} +5 -5
- package/dist/{provider-manager-PBOF77RQ.js → provider-manager-23O5QVDJ.js} +3 -3
- package/dist/{registry-XBEHPY7C.js → registry-QEOTM3IG.js} +2 -2
- package/dist/{serve-GL5WUPRP.js → serve-JACH7OQW.js} +21 -20
- package/dist/server/index.js +20 -19
- package/dist/{server-OYVGQU7O.js → server-KIRPYPP6.js} +16 -16
- package/dist/{session-overrides-QWD4V5KW.js → session-overrides-BQSE3V3F.js} +4 -4
- package/dist/{sessions-BT4PION7.js → sessions-AUDWMF55.js} +3 -3
- package/dist/{tools-UTA3TV7P.js → tools-I3BAXRVD.js} +11 -11
- package/dist/{update-VUTN743C.js → update-NZZWLDK7.js} +2 -2
- package/dist/web/assets/{index-BlV1FebL.css → index-BG5sD2ez.css} +1 -1
- package/dist/web/assets/{index-BUiw9fSe.js → index-C1sXLxiM.js} +80 -73
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-IIRKILYL.js → workspace-2NDXTCVR.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-VKU7YBLH.js +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.97 - 2026-07-27
|
|
4
|
+
|
|
5
|
+
### Enhancements
|
|
6
|
+
|
|
7
|
+
- **"esc to interrupt" hint hidden on mobile** — the keyboard shortcut hint no longer clutters the UI on small screens where keyboard shortcuts don't apply.
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- **Mistral structured content blocks now render correctly** — models with `reasoning_effort` (like `mistral-small-2603`) previously showed `[object Object]` for every streaming chunk. Text and thinking content are now properly extracted and displayed.
|
|
12
|
+
|
|
13
|
+
## 2.0.96 - 2026-07-26
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- **Remote SSH/SCP/SFTP/MOSH commands are visually distinguished** — tool calls running remote commands show a purple frame and a "REMOTE · SSH" badge, making it easy to spot remote execution at a glance.
|
|
18
|
+
- **Open project folder in OS file explorer from header** — a new folder button opens the project directory in your system's file manager.
|
|
19
|
+
- **Pick a vision fallback model from your configured providers** — choose which model handles vision tasks when the primary model doesn't support images.
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- **Project workflow saves no longer silently fall back to user config** — saving a workflow item now correctly updates the file on disk instead of appearing to succeed while leaving the old file intact.
|
|
24
|
+
- **Shell injection prevented when deleting workspaces** — workspace names are no longer interpolated into shell commands, fixing a potential injection vector.
|
|
25
|
+
|
|
3
26
|
## 2.0.95 - 2026-07-26
|
|
4
27
|
|
|
5
28
|
### Features
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.97 - 2026-07-27
|
|
4
|
+
|
|
5
|
+
### Enhancements
|
|
6
|
+
|
|
7
|
+
- **"esc to interrupt" hint hidden on mobile** — the keyboard shortcut hint no longer clutters the UI on small screens where keyboard shortcuts don't apply.
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- **Mistral structured content blocks now render correctly** — models with `reasoning_effort` (like `mistral-small-2603`) previously showed `[object Object]` for every streaming chunk. Text and thinking content are now properly extracted and displayed.
|
|
12
|
+
|
|
13
|
+
## 2.0.96 - 2026-07-26
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
- **Remote SSH/SCP/SFTP/MOSH commands are visually distinguished** — tool calls running remote commands show a purple frame and a "REMOTE · SSH" badge, making it easy to spot remote execution at a glance.
|
|
18
|
+
- **Open project folder in OS file explorer from header** — a new folder button opens the project directory in your system's file manager.
|
|
19
|
+
- **Pick a vision fallback model from your configured providers** — choose which model handles vision tasks when the primary model doesn't support images.
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- **Project workflow saves no longer silently fall back to user config** — saving a workflow item now correctly updates the file on disk instead of appearing to succeed while leaving the old file intact.
|
|
24
|
+
- **Shell injection prevented when deleting workspaces** — workspace names are no longer interpolated into shell commands, fixing a potential injection vector.
|
|
25
|
+
|
|
3
26
|
## 2.0.95 - 2026-07-26
|
|
4
27
|
|
|
5
28
|
### Features
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
runChatTurn
|
|
3
|
-
} from "./chunk-OZD247P4.js";
|
|
4
1
|
import {
|
|
5
2
|
buildRunChatTurnParams,
|
|
6
3
|
finalizeTurnCompletion,
|
|
7
4
|
generateSessionNameForSession
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import
|
|
5
|
+
} from "./chunk-T3INQCET.js";
|
|
6
|
+
import {
|
|
7
|
+
runChatTurn
|
|
8
|
+
} from "./chunk-C3XL7X4E.js";
|
|
9
|
+
import "./chunk-O5YWFX7H.js";
|
|
10
10
|
import "./chunk-ZASSAZ73.js";
|
|
11
11
|
import "./chunk-HAFRPV7I.js";
|
|
12
12
|
import "./chunk-I72ACQ6R.js";
|
|
13
13
|
import "./chunk-NWO6GRYE.js";
|
|
14
14
|
import "./chunk-VKWVPQJ5.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-D3SXT3BL.js";
|
|
16
16
|
import "./chunk-J7GAZGZT.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-LZW5LSVH.js";
|
|
18
|
+
import "./chunk-KQPDU65K.js";
|
|
19
|
+
import "./chunk-XLI6PDJG.js";
|
|
20
|
+
import "./chunk-G5JFKTSR.js";
|
|
21
21
|
import {
|
|
22
22
|
createChatMessageMessage,
|
|
23
23
|
createPhaseChangedMessage,
|
|
@@ -29,11 +29,11 @@ import "./chunk-K2O7JTCX.js";
|
|
|
29
29
|
import "./chunk-MRWR3SIT.js";
|
|
30
30
|
import {
|
|
31
31
|
getEventStore
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-KNYPBXPW.js";
|
|
33
33
|
import "./chunk-NLN5LPQ4.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-O2PLNJIU.js";
|
|
35
|
+
import "./chunk-ZIMGU5ZH.js";
|
|
36
|
+
import "./chunk-3LRYZ7R3.js";
|
|
37
37
|
import "./chunk-J2GP3J3X.js";
|
|
38
38
|
import "./chunk-V4IE7HJY.js";
|
|
39
39
|
import "./chunk-YHEQTVFV.js";
|
|
@@ -42,7 +42,7 @@ import "./chunk-UEOEA6BB.js";
|
|
|
42
42
|
import "./chunk-GLF65XDS.js";
|
|
43
43
|
import "./chunk-K44MW7JJ.js";
|
|
44
44
|
import "./chunk-4R7G5JB6.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-URQQOUCS.js";
|
|
46
46
|
import "./chunk-CQGTEGKL.js";
|
|
47
47
|
import "./chunk-5WRI5ZAA.js";
|
|
48
48
|
|
|
@@ -165,4 +165,4 @@ export {
|
|
|
165
165
|
startChatSession,
|
|
166
166
|
stopSessionExecution
|
|
167
167
|
};
|
|
168
|
-
//# sourceMappingURL=chat-handler-
|
|
168
|
+
//# sourceMappingURL=chat-handler-XXXMTO7W.js.map
|
|
@@ -23,6 +23,22 @@ import {
|
|
|
23
23
|
} from "./chunk-K44MW7JJ.js";
|
|
24
24
|
|
|
25
25
|
// src/server/llm/client.ts
|
|
26
|
+
function extractContentFromBlocks(blocks) {
|
|
27
|
+
let text = "";
|
|
28
|
+
let thinking = "";
|
|
29
|
+
for (const block of blocks) {
|
|
30
|
+
if (block.type === "text") {
|
|
31
|
+
text += block.text;
|
|
32
|
+
} else if (block.type === "thinking") {
|
|
33
|
+
for (const part of block.thinking) {
|
|
34
|
+
if (part.type === "text") {
|
|
35
|
+
thinking += part.text;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return { text, thinking };
|
|
41
|
+
}
|
|
26
42
|
function createLLMClient(config, initialBackend = "unknown") {
|
|
27
43
|
const baseURL = ensureVersionPrefix(config.llm.baseUrl);
|
|
28
44
|
const httpClient = new OpenAIHttpClient({
|
|
@@ -91,8 +107,16 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
91
107
|
throw new LLMError("No completion choice returned");
|
|
92
108
|
}
|
|
93
109
|
const message = choice.message;
|
|
94
|
-
|
|
95
|
-
|
|
110
|
+
let content;
|
|
111
|
+
let thinkingContent;
|
|
112
|
+
if (Array.isArray(message.content)) {
|
|
113
|
+
const extracted = extractContentFromBlocks(message.content);
|
|
114
|
+
content = extracted.text;
|
|
115
|
+
thinkingContent = extracted.thinking;
|
|
116
|
+
} else {
|
|
117
|
+
content = message.content ?? "";
|
|
118
|
+
thinkingContent = getThinking(message, thinkingField) ?? "";
|
|
119
|
+
}
|
|
96
120
|
const toolCalls = message.tool_calls?.map((tc) => {
|
|
97
121
|
const { arguments: args, parseError } = parseToolArguments(tc.function.arguments, {
|
|
98
122
|
id: tc.id,
|
|
@@ -190,8 +214,20 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
190
214
|
yield { type: "thinking_delta", content: reasoning };
|
|
191
215
|
}
|
|
192
216
|
if (delta.content) {
|
|
193
|
-
|
|
194
|
-
|
|
217
|
+
if (Array.isArray(delta.content)) {
|
|
218
|
+
const extracted = extractContentFromBlocks(delta.content);
|
|
219
|
+
if (extracted.text) {
|
|
220
|
+
fullContent += extracted.text;
|
|
221
|
+
yield { type: "text_delta", content: extracted.text };
|
|
222
|
+
}
|
|
223
|
+
if (extracted.thinking) {
|
|
224
|
+
fullThinking += extracted.thinking;
|
|
225
|
+
yield { type: "thinking_delta", content: extracted.thinking };
|
|
226
|
+
}
|
|
227
|
+
} else {
|
|
228
|
+
fullContent += delta.content;
|
|
229
|
+
yield { type: "text_delta", content: delta.content };
|
|
230
|
+
}
|
|
195
231
|
}
|
|
196
232
|
if (delta.tool_calls) {
|
|
197
233
|
for (const tc of delta.tool_calls) {
|
|
@@ -268,4 +304,4 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
268
304
|
export {
|
|
269
305
|
createLLMClient
|
|
270
306
|
};
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
307
|
+
//# sourceMappingURL=chunk-2VJIQEZE.js.map
|
|
@@ -69,21 +69,63 @@ async function loadItemsFromDir(dir, options) {
|
|
|
69
69
|
}
|
|
70
70
|
return items;
|
|
71
71
|
}
|
|
72
|
+
async function findFileByInternalId(dir, id, ext) {
|
|
73
|
+
if (!await pathExists(dir)) return null;
|
|
74
|
+
let files;
|
|
75
|
+
try {
|
|
76
|
+
files = await readdir(dir);
|
|
77
|
+
} catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
for (const file of files) {
|
|
81
|
+
if (!file.endsWith(ext)) continue;
|
|
82
|
+
try {
|
|
83
|
+
const raw = await readFile(join(dir, file), "utf-8");
|
|
84
|
+
let parsedId;
|
|
85
|
+
if (ext === ".md" || ext === ".mdx") {
|
|
86
|
+
const { data } = matter(raw);
|
|
87
|
+
parsedId = data.id;
|
|
88
|
+
} else {
|
|
89
|
+
const parsed = JSON.parse(raw);
|
|
90
|
+
parsedId = parsed.metadata?.id ?? parsed.id;
|
|
91
|
+
}
|
|
92
|
+
if (parsedId === id) {
|
|
93
|
+
return join(dir, file);
|
|
94
|
+
}
|
|
95
|
+
} catch {
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
72
100
|
async function saveItemToDir(dir, item, ext, serialize) {
|
|
73
101
|
if (!await pathExists(dir)) {
|
|
74
102
|
await mkdir(dir, { recursive: true });
|
|
75
103
|
}
|
|
76
104
|
const meta = item.metadata;
|
|
77
105
|
const filePath = join(dir, `${meta.id}${ext}`);
|
|
106
|
+
const existing = await findFileByInternalId(dir, meta.id, ext);
|
|
107
|
+
if (existing && existing !== filePath) {
|
|
108
|
+
await unlink(existing).catch(() => {
|
|
109
|
+
});
|
|
110
|
+
}
|
|
78
111
|
await writeFile(filePath, serialize(item), "utf-8");
|
|
79
112
|
}
|
|
80
113
|
var jsonSerializer = (item) => JSON.stringify(item, null, 2) + "\n";
|
|
81
114
|
async function deleteItemFromDir(dir, id, ext) {
|
|
82
|
-
const
|
|
115
|
+
const fastPath = join(dir, `${id}${ext}`);
|
|
83
116
|
try {
|
|
84
|
-
await unlink(
|
|
117
|
+
await unlink(fastPath);
|
|
85
118
|
return { success: true };
|
|
86
119
|
} catch {
|
|
120
|
+
const found = await findFileByInternalId(dir, id, ext);
|
|
121
|
+
if (found) {
|
|
122
|
+
try {
|
|
123
|
+
await unlink(found);
|
|
124
|
+
return { success: true };
|
|
125
|
+
} catch {
|
|
126
|
+
return { success: false };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
87
129
|
return { success: false };
|
|
88
130
|
}
|
|
89
131
|
}
|
|
@@ -387,6 +429,7 @@ export {
|
|
|
387
429
|
pathExists,
|
|
388
430
|
getDefaultIds,
|
|
389
431
|
loadItemsFromDir,
|
|
432
|
+
findFileByInternalId,
|
|
390
433
|
saveItemToDir,
|
|
391
434
|
jsonSerializer,
|
|
392
435
|
deleteItemFromDir,
|
|
@@ -412,4 +455,4 @@ export {
|
|
|
412
455
|
getOverrideAgentIds,
|
|
413
456
|
resolveDefaultAgentId
|
|
414
457
|
};
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
458
|
+
//# sourceMappingURL=chunk-3LRYZ7R3.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-MRWR3SIT.js";
|
|
7
7
|
import {
|
|
8
8
|
getCurrentWindowMessageOptions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KNYPBXPW.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-3W6STALV.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/server/utils/openFolder.ts
|
|
2
|
+
import { platform } from "os";
|
|
3
|
+
import { execFile } from "child_process";
|
|
4
|
+
import { promisify } from "util";
|
|
5
|
+
var execFileP = promisify(execFile);
|
|
6
|
+
async function openFolder(dir) {
|
|
7
|
+
await execFileP("mkdir", ["-p", dir], { timeout: 5e3 });
|
|
8
|
+
const cmd = platform() === "darwin" ? "open" : platform() === "win32" ? "explorer" : "xdg-open";
|
|
9
|
+
await execFileP(cmd, [dir], { timeout: 5e3 });
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
openFolder
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=chunk-62QCBNPE.js.map
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
getToolRegistryForAgent,
|
|
5
5
|
processEventsForConversation,
|
|
6
6
|
runTopLevelAgentLoop
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-O5YWFX7H.js";
|
|
8
8
|
import {
|
|
9
9
|
buildCachedPrompt,
|
|
10
10
|
computeDynamicContextHash,
|
|
11
11
|
getToolFingerprint
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LZW5LSVH.js";
|
|
13
13
|
import {
|
|
14
14
|
getAllInstructions,
|
|
15
15
|
getEnabledSkillMetadata
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-KQPDU65K.js";
|
|
17
17
|
import {
|
|
18
18
|
PathAccessDeniedError
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-G5JFKTSR.js";
|
|
20
20
|
import {
|
|
21
21
|
TurnMetrics,
|
|
22
22
|
createChatDoneEvent,
|
|
@@ -30,16 +30,16 @@ import {
|
|
|
30
30
|
getCurrentContextWindowId,
|
|
31
31
|
getCurrentWindowMessageOptions,
|
|
32
32
|
getEventStore
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-KNYPBXPW.js";
|
|
34
34
|
import {
|
|
35
35
|
buildSnapshotFromSessionState
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-O2PLNJIU.js";
|
|
37
37
|
import {
|
|
38
38
|
findAgentById,
|
|
39
39
|
getRuntimeConfig,
|
|
40
40
|
loadAllAgentsDefault,
|
|
41
41
|
resolveDefaultAgentId
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-3LRYZ7R3.js";
|
|
43
43
|
import {
|
|
44
44
|
logger
|
|
45
45
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -309,4 +309,4 @@ export {
|
|
|
309
309
|
runChatTurn,
|
|
310
310
|
runAgentTurn
|
|
311
311
|
};
|
|
312
|
-
//# sourceMappingURL=chunk-
|
|
312
|
+
//# sourceMappingURL=chunk-C3XL7X4E.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
runAgentTurn,
|
|
3
|
-
runChatTurn
|
|
4
|
-
} from "./chunk-OZD247P4.js";
|
|
5
1
|
import {
|
|
6
2
|
generateSessionNameForSession,
|
|
7
3
|
getSessionMessageCount,
|
|
8
4
|
needsNameGeneration
|
|
9
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-T3INQCET.js";
|
|
6
|
+
import {
|
|
7
|
+
runAgentTurn,
|
|
8
|
+
runChatTurn
|
|
9
|
+
} from "./chunk-C3XL7X4E.js";
|
|
10
10
|
import {
|
|
11
11
|
devServerManager,
|
|
12
12
|
executeSubAgent,
|
|
13
13
|
getToolRegistryForAgent
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-O5YWFX7H.js";
|
|
15
15
|
import {
|
|
16
16
|
checkAborted,
|
|
17
17
|
onProcessEvent,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
applyDynamicContext,
|
|
29
29
|
computeSessionHash,
|
|
30
30
|
computeUnifiedDiff
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-LZW5LSVH.js";
|
|
32
32
|
import {
|
|
33
33
|
createChatErrorMessage,
|
|
34
34
|
createChatMessageMessage,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
} from "./chunk-EU3WWTFH.js";
|
|
51
51
|
import {
|
|
52
52
|
appendCompactionPrompt
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-3W6STALV.js";
|
|
54
54
|
import {
|
|
55
55
|
TurnMetrics,
|
|
56
56
|
createMessageStartEvent
|
|
@@ -59,14 +59,14 @@ import {
|
|
|
59
59
|
combineEventsWithSnapshot,
|
|
60
60
|
getCurrentContextWindowId,
|
|
61
61
|
getEventStore
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-KNYPBXPW.js";
|
|
63
63
|
import {
|
|
64
64
|
getPlatformShell
|
|
65
65
|
} from "./chunk-NLN5LPQ4.js";
|
|
66
66
|
import {
|
|
67
67
|
buildMessagesFromStoredEvents,
|
|
68
68
|
foldPendingConfirmations
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-O2PLNJIU.js";
|
|
70
70
|
import {
|
|
71
71
|
deleteItemFromDir,
|
|
72
72
|
findAgentById,
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
loadAllAgentsDefault,
|
|
76
76
|
resolveDefaultAgentId,
|
|
77
77
|
saveItemToDir
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-3LRYZ7R3.js";
|
|
79
79
|
import {
|
|
80
80
|
getMaxVisibleItems
|
|
81
81
|
} from "./chunk-UEOEA6BB.js";
|
|
@@ -2161,8 +2161,8 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
2161
2161
|
const sessionId = client.activeSessionId;
|
|
2162
2162
|
const session = sessionManager.requireSession(sessionId);
|
|
2163
2163
|
try {
|
|
2164
|
-
const { buildCachedPrompt } = await import("./dynamic-context-
|
|
2165
|
-
const allAgents = await import("./registry-
|
|
2164
|
+
const { buildCachedPrompt } = await import("./dynamic-context-TDB4G5CH.js");
|
|
2165
|
+
const allAgents = await import("./registry-QEOTM3IG.js");
|
|
2166
2166
|
const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
|
|
2167
2167
|
const { systemPrompt: newPrompt, hash: newHash } = await buildCachedPrompt(sessionManager, sessionId, agentDef);
|
|
2168
2168
|
const oldCached = sessionManager.getCachedPrompt(sessionId);
|
|
@@ -2477,4 +2477,4 @@ export {
|
|
|
2477
2477
|
signalMcpReady,
|
|
2478
2478
|
createWebSocketServer
|
|
2479
2479
|
};
|
|
2480
|
-
//# sourceMappingURL=chunk-
|
|
2480
|
+
//# sourceMappingURL=chunk-CCEG3AFM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLLMClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2VJIQEZE.js";
|
|
4
4
|
import {
|
|
5
5
|
getModelProfile
|
|
6
6
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -807,4 +807,4 @@ export {
|
|
|
807
807
|
parseDefaultModelSelection,
|
|
808
808
|
createProviderManager
|
|
809
809
|
};
|
|
810
|
-
//# sourceMappingURL=chunk-
|
|
810
|
+
//# sourceMappingURL=chunk-CSKPPHD3.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-K44MW7JJ.js";
|
|
11
11
|
|
|
12
12
|
// src/server/git/workspace.ts
|
|
13
|
-
import { spawn, execSync } from "child_process";
|
|
13
|
+
import { spawn, execSync, execFileSync } from "child_process";
|
|
14
14
|
import { mkdir as mkdir2 } from "fs/promises";
|
|
15
15
|
import { resolve as resolve2, join as join2, isAbsolute } from "path";
|
|
16
16
|
import { homedir, platform } from "os";
|
|
@@ -273,10 +273,10 @@ async function deleteWorkspace(projectName, name, projectDir) {
|
|
|
273
273
|
if (!st?.isDirectory()) {
|
|
274
274
|
throw new Error(`Workspace "${name}" does not exist`);
|
|
275
275
|
}
|
|
276
|
-
const { rm } = await import("fs/promises");
|
|
277
276
|
try {
|
|
278
|
-
|
|
277
|
+
execFileSync("rm", ["-rf", wsPath], { stdio: "ignore" });
|
|
279
278
|
} catch {
|
|
279
|
+
const { rm } = await import("fs/promises");
|
|
280
280
|
await rm(wsPath, { recursive: true, force: true });
|
|
281
281
|
}
|
|
282
282
|
logger.info("Deleted workspace", { projectName, name, path: wsPath });
|
|
@@ -324,4 +324,4 @@ export {
|
|
|
324
324
|
deleteWorkspace,
|
|
325
325
|
isGitRepository
|
|
326
326
|
};
|
|
327
|
-
//# sourceMappingURL=chunk-
|
|
327
|
+
//# sourceMappingURL=chunk-D3SXT3BL.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-27SDWNKL.js";
|
|
4
4
|
import {
|
|
5
5
|
getEventStore
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KNYPBXPW.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-G5JFKTSR.js.map
|