openfox 2.0.95 → 2.0.96
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-5FV3TGQD.js → chat-handler-5OJMACXB.js} +16 -16
- package/dist/{chunk-YCPUV7AR.js → chunk-3DAZIZ7E.js} +7 -7
- 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-7B3XSBRL.js +7 -0
- package/dist/{chunk-5UFTFBNW.js → chunk-BG4EVBLJ.js} +5 -5
- package/dist/{chunk-OZD247P4.js → chunk-C3XL7X4E.js} +8 -8
- package/dist/{chunk-62X2MPO6.js → chunk-D3SXT3BL.js} +4 -4
- package/dist/{chunk-ZMSHE564.js → chunk-G5JFKTSR.js} +2 -2
- 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-KG2PJVOE.js → chunk-ML5ZU6VS.js} +185 -78
- package/dist/{chunk-P637C6X3.js → chunk-O2PLNJIU.js} +2 -2
- package/dist/{chunk-6RHMIMID.js → chunk-O5YWFX7H.js} +21 -25
- package/dist/{chunk-OQTLFO4R.js → chunk-URQQOUCS.js} +46 -3
- package/dist/{chunk-D6T3X22W.js → chunk-WS7EY4CU.js} +14 -14
- 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/{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-HX4FXDDT.js} +13 -13
- package/dist/{provider-A74GHQUO.js → provider-LZ3XMDX6.js} +3 -3
- package/dist/{registry-XBEHPY7C.js → registry-QEOTM3IG.js} +2 -2
- package/dist/{serve-GL5WUPRP.js → serve-VGATDJX5.js} +19 -18
- package/dist/server/index.js +18 -17
- package/dist/{server-OYVGQU7O.js → server-4BHDA6PA.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-2Z6TXHFH.js} +2 -2
- package/dist/web/assets/{index-BlV1FebL.css → index-BG5sD2ez.css} +1 -1
- package/dist/web/assets/{index-BUiw9fSe.js → index-CsC_DrIa.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,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.96 - 2026-07-26
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **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.
|
|
8
|
+
- **Open project folder in OS file explorer from header** — a new folder button opens the project directory in your system's file manager.
|
|
9
|
+
- **Pick a vision fallback model from your configured providers** — choose which model handles vision tasks when the primary model doesn't support images.
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **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.
|
|
14
|
+
- **Shell injection prevented when deleting workspaces** — workspace names are no longer interpolated into shell commands, fixing a potential injection vector.
|
|
15
|
+
|
|
3
16
|
## 2.0.95 - 2026-07-26
|
|
4
17
|
|
|
5
18
|
### Features
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.96 - 2026-07-26
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **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.
|
|
8
|
+
- **Open project folder in OS file explorer from header** — a new folder button opens the project directory in your system's file manager.
|
|
9
|
+
- **Pick a vision fallback model from your configured providers** — choose which model handles vision tasks when the primary model doesn't support images.
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **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.
|
|
14
|
+
- **Shell injection prevented when deleting workspaces** — workspace names are no longer interpolated into shell commands, fixing a potential injection vector.
|
|
15
|
+
|
|
3
16
|
## 2.0.95 - 2026-07-26
|
|
4
17
|
|
|
5
18
|
### 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-BG4EVBLJ.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-5OJMACXB.js.map
|
|
@@ -37,7 +37,7 @@ Options:
|
|
|
37
37
|
}
|
|
38
38
|
async function runNetworkSetup(mode) {
|
|
39
39
|
const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-YY5PJYSC.js");
|
|
40
|
-
const { saveGlobalConfig } = await import("./config-
|
|
40
|
+
const { saveGlobalConfig } = await import("./config-M7RDIFC5.js");
|
|
41
41
|
const { getAuthKeyPath } = await import("./paths-F27V3S4I.js");
|
|
42
42
|
const existingAuth = await loadAuthConfig(mode);
|
|
43
43
|
if (existingAuth) {
|
|
@@ -104,7 +104,7 @@ async function runNetworkSetup(mode) {
|
|
|
104
104
|
console.log("\u2713 Configuration saved!\n");
|
|
105
105
|
}
|
|
106
106
|
async function runConfig(mode) {
|
|
107
|
-
const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-
|
|
107
|
+
const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-M7RDIFC5.js");
|
|
108
108
|
const { getGlobalConfigPath } = await import("./paths-F27V3S4I.js");
|
|
109
109
|
const config = await loadGlobalConfig(mode);
|
|
110
110
|
const configPath = getGlobalConfigPath(mode);
|
|
@@ -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-LZ3XMDX6.js");
|
|
167
167
|
const [, subcommand] = positionals;
|
|
168
168
|
await runProviderCommand(mode, subcommand);
|
|
169
169
|
break;
|
|
@@ -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-2Z6TXHFH.js");
|
|
204
204
|
const code = await runUpdate();
|
|
205
205
|
if (code !== 0) {
|
|
206
206
|
process.exit(code);
|
|
@@ -208,12 +208,12 @@ async function runCli(options) {
|
|
|
208
208
|
break;
|
|
209
209
|
}
|
|
210
210
|
default: {
|
|
211
|
-
const { configFileExists } = await import("./config-
|
|
211
|
+
const { configFileExists } = await import("./config-M7RDIFC5.js");
|
|
212
212
|
const configExists = await configFileExists(mode);
|
|
213
213
|
if (!configExists) {
|
|
214
214
|
await runNetworkSetup(mode);
|
|
215
215
|
}
|
|
216
|
-
const { runServe } = await import("./serve-
|
|
216
|
+
const { runServe } = await import("./serve-VGATDJX5.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-3DAZIZ7E.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
|
|
@@ -8,17 +8,17 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
combineEventsWithSnapshot,
|
|
10
10
|
getEventStore
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-KNYPBXPW.js";
|
|
12
12
|
import {
|
|
13
13
|
buildMessagesFromStoredEvents,
|
|
14
14
|
foldPendingConfirmations
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-O2PLNJIU.js";
|
|
16
16
|
import {
|
|
17
17
|
updateSessionMetadata
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ZIMGU5ZH.js";
|
|
19
19
|
import {
|
|
20
20
|
getRuntimeConfig
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-3LRYZ7R3.js";
|
|
22
22
|
import {
|
|
23
23
|
getMaxVisibleItems
|
|
24
24
|
} from "./chunk-UEOEA6BB.js";
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
needsNameGeneration,
|
|
205
205
|
generateSessionNameForSession
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=chunk-
|
|
207
|
+
//# sourceMappingURL=chunk-BG4EVBLJ.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
|
|
@@ -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
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
foldContextState,
|
|
6
6
|
foldSessionState,
|
|
7
7
|
spreadOptionalMessageFields
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-O2PLNJIU.js";
|
|
9
9
|
import {
|
|
10
10
|
updateSessionMessageCount
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZIMGU5ZH.js";
|
|
12
12
|
import {
|
|
13
13
|
getRuntimeConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3LRYZ7R3.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-KNYPBXPW.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
deleteItemFromDir,
|
|
6
6
|
loadItemsFromDir,
|
|
7
7
|
pathExists
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3LRYZ7R3.js";
|
|
9
9
|
import {
|
|
10
10
|
SETTINGS_KEYS,
|
|
11
11
|
deleteSetting,
|
|
@@ -440,4 +440,4 @@ export {
|
|
|
440
440
|
deleteSkill,
|
|
441
441
|
deleteProjectSkill
|
|
442
442
|
};
|
|
443
|
-
//# sourceMappingURL=chunk-
|
|
443
|
+
//# sourceMappingURL=chunk-KQPDU65K.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getAllInstructions,
|
|
3
3
|
getEnabledSkillMetadata
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KQPDU65K.js";
|
|
5
5
|
import {
|
|
6
6
|
buildTopLevelSystemPrompt
|
|
7
7
|
} from "./chunk-MRWR3SIT.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
getSubAgents,
|
|
12
12
|
loadAllAgentsDefault,
|
|
13
13
|
resolveDefaultAgentId
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-3LRYZ7R3.js";
|
|
15
15
|
import {
|
|
16
16
|
logger
|
|
17
17
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -104,7 +104,7 @@ function resolveAgentDef(sessionManager, sessionId) {
|
|
|
104
104
|
}
|
|
105
105
|
async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
106
106
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
107
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
107
|
+
const { getToolRegistryForAgent } = await import("./tools-I3BAXRVD.js");
|
|
108
108
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
109
109
|
const toolFingerprint = getToolFingerprint(tools);
|
|
110
110
|
const allAgents = await loadAllAgentsDefault();
|
|
@@ -117,7 +117,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
|
117
117
|
async function computeSessionHash(sessionManager, sessionId) {
|
|
118
118
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
119
119
|
const agentDef = await resolveAgentDef(sessionManager, sessionId);
|
|
120
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
120
|
+
const { getToolRegistryForAgent } = await import("./tools-I3BAXRVD.js");
|
|
121
121
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
122
122
|
const toolFingerprint = getToolFingerprint(tools);
|
|
123
123
|
return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
|
|
@@ -141,4 +141,4 @@ export {
|
|
|
141
141
|
computeSessionHash,
|
|
142
142
|
applyDynamicContext
|
|
143
143
|
};
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
144
|
+
//# sourceMappingURL=chunk-LZW5LSVH.js.map
|