openfox 2.0.81 → 2.0.83
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/dist/{branch.api-3YJSWOZG.js → branch.api-XVTYACSH.js} +2 -2
- package/dist/{chat-handler-NRJWHZB2.js → chat-handler-6KBOE4YA.js} +17 -17
- package/dist/chunk-2X3V4SQC.js +7 -0
- package/dist/{chunk-4GMRZU7A.js → chunk-3D3N2PXI.js} +4 -4
- package/dist/{chunk-VZYC5OLW.js → chunk-5ZHVQOI3.js} +2 -2
- package/dist/{chunk-PVO2XVLV.js → chunk-7ROIY3QN.js} +122 -81
- package/dist/{chunk-WYJTY63G.js → chunk-CNJ63FXJ.js} +3 -2
- package/dist/{chunk-EZDTCQMR.js → chunk-D324ULDG.js} +7 -19
- package/dist/{chunk-E3MS5CF7.js → chunk-DQP5HSDS.js} +2 -2
- package/dist/{chunk-QHLWWQRC.js → chunk-FVY2JOTO.js} +2 -2
- package/dist/{chunk-XW7BCI3O.js → chunk-HLZUN7OR.js} +4 -4
- package/dist/{chunk-ZO5EXQMG.js → chunk-IIRXKSB5.js} +53 -2
- package/dist/chunk-J7GAZGZT.js +57 -0
- package/dist/{chunk-AIIFQYU5.js → chunk-JKZPMRH2.js} +2 -2
- package/dist/{chunk-37WF2Z3T.js → chunk-JXTHW3YX.js} +2 -2
- package/dist/{chunk-NLMT2HII.js → chunk-KMGVUOLT.js} +36 -32
- package/dist/{chunk-D25OSL6V.js → chunk-OBQN5ATP.js} +32 -32
- package/dist/{chunk-WL2WEJAK.js → chunk-SBSQD7MG.js} +2 -2
- package/dist/{chunk-CJDYSUU5.js → chunk-VB23QPW3.js} +9 -6
- package/dist/{chunk-3Q5WQMPA.js → chunk-WL6AOKRD.js} +8 -8
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-V5DZRO2D.js → client-TA2VD4LR.js} +5 -3
- package/dist/{compactor-3UHLN554.js → compactor-YKESKGHL.js} +6 -6
- package/dist/http-client-QZY7W36Q.js +11 -0
- package/dist/{manager-FIE2LCGJ.js → manager-WOUOQVLV.js} +4 -4
- package/dist/{orchestrator-KOL34NS2.js → orchestrator-BO62JYFM.js} +12 -12
- package/dist/package.json +1 -1
- package/dist/{path-security-EKTUMDJW.js → path-security-AWDNKRZ4.js} +3 -3
- package/dist/{platform-KME5DVX5.js → platform-7AK5MB4K.js} +3 -3
- package/dist/{processor-S3SDZHQC.js → processor-BLGEVOPK.js} +16 -16
- package/dist/{provider-TIZV4IFE.js → provider-QVVJ6XNZ.js} +6 -4
- package/dist/{provider-manager-PD3BXUHY.js → provider-manager-7246YSJT.js} +6 -4
- package/dist/{serve-PESDYZZP.js → serve-HXV2RX3Q.js} +19 -19
- package/dist/server/index.d.ts +0 -5
- package/dist/server/index.js +18 -18
- package/dist/{server-LWXTOEIJ.js → server-V4VA4A2E.js} +14 -14
- package/dist/{settings-DMYBLBDQ.js → settings-6TJIHDVX.js} +2 -2
- package/dist/{tools-FZ7HWHOW.js → tools-X4YLRR2Y.js} +11 -11
- package/dist/{update-SVJRA6YZ.js → update-MFOCAROI.js} +2 -2
- package/dist/web/assets/{index-BkC11Dy_.js → index-C9jXZWzN.js} +76 -76
- package/dist/web/assets/{index-CO9RvnPX.css → index-DfmXvFVe.css} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-J74ZMSOJ.js → workspace-N2PIBOJV.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-UP5CYTEC.js +0 -7
- package/dist/chunk-WGMJCFCE.js +0 -14
- package/dist/http-client-PIWB7BXK.js +0 -9
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
loadAllAgentsDefault,
|
|
10
10
|
processEventsForConversation,
|
|
11
11
|
runTopLevelAgentLoop
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-OBQN5ATP.js";
|
|
13
13
|
import {
|
|
14
14
|
PathAccessDeniedError
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-3D3N2PXI.js";
|
|
16
16
|
import {
|
|
17
17
|
TurnMetrics,
|
|
18
18
|
buildAgentReminder,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
buildTopLevelSystemPrompt,
|
|
21
21
|
createChatDoneEvent,
|
|
22
22
|
createMessageStartEvent
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-FVY2JOTO.js";
|
|
24
24
|
import {
|
|
25
25
|
getCurrentContextWindowId,
|
|
26
26
|
getCurrentWindowMessageOptions,
|
|
@@ -66,7 +66,7 @@ function resolveAgentDef(sessionManager, sessionId) {
|
|
|
66
66
|
}
|
|
67
67
|
async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
68
68
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
69
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
69
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-X4YLRR2Y.js");
|
|
70
70
|
const tools = getToolRegistryForAgent2(agentDef).definitions;
|
|
71
71
|
const toolFingerprint = getToolFingerprint(tools);
|
|
72
72
|
const allAgents = await loadAllAgentsDefault();
|
|
@@ -79,7 +79,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
|
|
|
79
79
|
async function computeSessionHash(sessionManager, sessionId) {
|
|
80
80
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
81
81
|
const agentDef = await resolveAgentDef(sessionManager, sessionId);
|
|
82
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
82
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-X4YLRR2Y.js");
|
|
83
83
|
const tools = getToolRegistryForAgent2(agentDef).definitions;
|
|
84
84
|
const toolFingerprint = getToolFingerprint(tools);
|
|
85
85
|
return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
|
|
@@ -97,7 +97,7 @@ async function applyDynamicContext(sessionManager, sessionId) {
|
|
|
97
97
|
|
|
98
98
|
// src/server/chat/orchestrator.ts
|
|
99
99
|
async function buildRetryPatterns() {
|
|
100
|
-
const { getSetting, SETTINGS_KEYS } = await import("./settings-
|
|
100
|
+
const { getSetting, SETTINGS_KEYS } = await import("./settings-6TJIHDVX.js");
|
|
101
101
|
const raw = getSetting(SETTINGS_KEYS.RETRY_PATTERNS);
|
|
102
102
|
if (!raw) {
|
|
103
103
|
const oldXmlProtection = getSetting("llm.disableXmlProtection");
|
|
@@ -149,18 +149,6 @@ async function runChatTurn(options) {
|
|
|
149
149
|
const mode = session.mode;
|
|
150
150
|
logger.debug("Starting chat turn", { sessionId, mode });
|
|
151
151
|
sessionManager.setRunning(sessionId, true);
|
|
152
|
-
const branchWarning = await sessionManager.checkBranchConsistency(sessionId);
|
|
153
|
-
if (branchWarning) {
|
|
154
|
-
logger.warn("Branch consistency check failed", { sessionId, warning: branchWarning });
|
|
155
|
-
sessionManager.addMessage(sessionId, {
|
|
156
|
-
role: "user",
|
|
157
|
-
content: `<system-reminder>
|
|
158
|
-
${branchWarning}
|
|
159
|
-
</system-reminder>`,
|
|
160
|
-
isSystemGenerated: true,
|
|
161
|
-
messageKind: "auto-prompt"
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
152
|
const append = (event) => {
|
|
165
153
|
try {
|
|
166
154
|
eventStore.append(sessionId, event);
|
|
@@ -371,4 +359,4 @@ export {
|
|
|
371
359
|
runChatTurn,
|
|
372
360
|
runAgentTurn
|
|
373
361
|
};
|
|
374
|
-
//# sourceMappingURL=chunk-
|
|
362
|
+
//# sourceMappingURL=chunk-D324ULDG.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
COMPACTION_PROMPT,
|
|
3
3
|
createMessageStartEvent
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FVY2JOTO.js";
|
|
5
5
|
import {
|
|
6
6
|
getCurrentWindowMessageOptions
|
|
7
7
|
} from "./chunk-BUXIESO5.js";
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
COMPACTION_MAX_RATIO,
|
|
35
35
|
shouldCompact
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-DQP5HSDS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatformShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5ZHVQOI3.js";
|
|
4
4
|
import {
|
|
5
5
|
streamWithSegments
|
|
6
6
|
} from "./chunk-J2GP3J3X.js";
|
|
@@ -680,4 +680,4 @@ export {
|
|
|
680
680
|
createChatDoneEvent,
|
|
681
681
|
consumeStreamGenerator
|
|
682
682
|
};
|
|
683
|
-
//# sourceMappingURL=chunk-
|
|
683
|
+
//# sourceMappingURL=chunk-FVY2JOTO.js.map
|
|
@@ -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-QVVJ6XNZ.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-MFOCAROI.js");
|
|
204
204
|
const code = await runUpdate();
|
|
205
205
|
if (code !== 0) {
|
|
206
206
|
process.exit(code);
|
|
@@ -213,7 +213,7 @@ async function runCli(options) {
|
|
|
213
213
|
if (!configExists) {
|
|
214
214
|
await runNetworkSetup(mode);
|
|
215
215
|
}
|
|
216
|
-
const { runServe } = await import("./serve-
|
|
216
|
+
const { runServe } = await import("./serve-HXV2RX3Q.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-HLZUN7OR.js.map
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SETTINGS_KEYS,
|
|
3
|
+
getSetting
|
|
4
|
+
} from "./chunk-CNJ63FXJ.js";
|
|
1
5
|
import {
|
|
2
6
|
logger
|
|
3
7
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -24,6 +28,52 @@ var LLMError = class extends OpenFoxError {
|
|
|
24
28
|
}
|
|
25
29
|
};
|
|
26
30
|
|
|
31
|
+
// src/server/llm/proxy.ts
|
|
32
|
+
import { fetch as undiciFetch, ProxyAgent } from "undici";
|
|
33
|
+
var _cachedProxyUrl;
|
|
34
|
+
var _cachedAgent;
|
|
35
|
+
function getProxyAgent() {
|
|
36
|
+
const proxyUrl = getSetting(SETTINGS_KEYS.PROXY_URL) ?? void 0;
|
|
37
|
+
if (!proxyUrl) {
|
|
38
|
+
if (_cachedAgent) {
|
|
39
|
+
_cachedAgent.destroy().catch((err) => {
|
|
40
|
+
logger.warn("[proxy] Failed to destroy old proxy agent", { error: err });
|
|
41
|
+
});
|
|
42
|
+
_cachedAgent = void 0;
|
|
43
|
+
_cachedProxyUrl = void 0;
|
|
44
|
+
}
|
|
45
|
+
return void 0;
|
|
46
|
+
}
|
|
47
|
+
if (proxyUrl !== _cachedProxyUrl) {
|
|
48
|
+
if (_cachedAgent) {
|
|
49
|
+
_cachedAgent.destroy().catch((err) => {
|
|
50
|
+
logger.warn("[proxy] Failed to destroy old proxy agent", { error: err });
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
_cachedProxyUrl = proxyUrl;
|
|
54
|
+
try {
|
|
55
|
+
_cachedAgent = new ProxyAgent({
|
|
56
|
+
uri: proxyUrl,
|
|
57
|
+
requestTls: { rejectUnauthorized: true }
|
|
58
|
+
});
|
|
59
|
+
logger.info("[proxy] Proxy agent created", { proxyUrl });
|
|
60
|
+
} catch (err) {
|
|
61
|
+
logger.error("[proxy] Failed to create proxy agent", { proxyUrl, error: err });
|
|
62
|
+
_cachedAgent = void 0;
|
|
63
|
+
_cachedProxyUrl = void 0;
|
|
64
|
+
return void 0;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return _cachedAgent;
|
|
68
|
+
}
|
|
69
|
+
async function proxyFetch(url, options) {
|
|
70
|
+
const agent = getProxyAgent();
|
|
71
|
+
if (agent) {
|
|
72
|
+
return undiciFetch(url, { ...options, dispatcher: agent });
|
|
73
|
+
}
|
|
74
|
+
return fetch(url, options);
|
|
75
|
+
}
|
|
76
|
+
|
|
27
77
|
// src/server/llm/http-client.ts
|
|
28
78
|
var OpenAIHttpClient = class {
|
|
29
79
|
baseURL;
|
|
@@ -40,7 +90,7 @@ var OpenAIHttpClient = class {
|
|
|
40
90
|
};
|
|
41
91
|
const bodyStr = JSON.stringify(params);
|
|
42
92
|
logger.debug("HTTP request to LLM", { url, bodyKeys: Object.keys(params) });
|
|
43
|
-
const response = await
|
|
93
|
+
const response = await proxyFetch(url, {
|
|
44
94
|
method: "POST",
|
|
45
95
|
headers,
|
|
46
96
|
body: bodyStr,
|
|
@@ -110,6 +160,7 @@ var OpenAIHttpClient = class {
|
|
|
110
160
|
export {
|
|
111
161
|
SessionNotFoundError,
|
|
112
162
|
LLMError,
|
|
163
|
+
proxyFetch,
|
|
113
164
|
OpenAIHttpClient
|
|
114
165
|
};
|
|
115
|
-
//# sourceMappingURL=chunk-
|
|
166
|
+
//# sourceMappingURL=chunk-IIRXKSB5.js.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// src/server/git/env.ts
|
|
2
|
+
var GIT_ENV_VARS = [
|
|
3
|
+
"GIT_DIR",
|
|
4
|
+
"GIT_INDEX_FILE",
|
|
5
|
+
"GIT_WORK_TREE",
|
|
6
|
+
"GIT_PREFIX",
|
|
7
|
+
"GIT_OBJECT_DIRECTORY",
|
|
8
|
+
"GIT_ALTERNATE_OBJECT_DIRECTORIES",
|
|
9
|
+
"GIT_COMMON_DIR",
|
|
10
|
+
"GIT_CEILING_DIRECTORIES",
|
|
11
|
+
"GIT_DISCOVERY_ACROSS_FILESYSTEM",
|
|
12
|
+
"GIT_NAMESPACE",
|
|
13
|
+
"GIT_SHALLOW_FILE",
|
|
14
|
+
"GIT_CONFIG_SYSTEM",
|
|
15
|
+
"GIT_CONFIG_GLOBAL",
|
|
16
|
+
"GIT_CONFIG_NOSYSTEM",
|
|
17
|
+
"GIT_CONFIG_COUNT",
|
|
18
|
+
"GIT_SSH",
|
|
19
|
+
"GIT_SSH_COMMAND",
|
|
20
|
+
"GIT_SSL_NO_VERIFY",
|
|
21
|
+
"GIT_TERMINAL_PROMPT",
|
|
22
|
+
"GIT_PROTOCOL_FROM_USER",
|
|
23
|
+
"GIT_ALLOW_PROTOCOL",
|
|
24
|
+
"GIT_LITERAL_PATHSPECS",
|
|
25
|
+
"GIT_GLOB_PATHSPECS",
|
|
26
|
+
"GIT_NOGLOB_PATHSPECS",
|
|
27
|
+
"GIT_ICASE_PATHSPECS",
|
|
28
|
+
"GIT_FLUSH",
|
|
29
|
+
"GIT_REFLOG_ACTION",
|
|
30
|
+
"GIT_SEQUENCE_EDITOR",
|
|
31
|
+
"GIT_EDITOR",
|
|
32
|
+
"GIT_PAGER",
|
|
33
|
+
"GIT_EXTERNAL_DIFF",
|
|
34
|
+
"GIT_DIFF_OPTS",
|
|
35
|
+
"GIT_NOTES_REF",
|
|
36
|
+
"GIT_NOTES_DISPLAY_REF",
|
|
37
|
+
"GIT_NOTES_REWRITE_MODE",
|
|
38
|
+
"GIT_NOTES_REWRITE_REF",
|
|
39
|
+
"GIT_MERGE_AUTOEDIT"
|
|
40
|
+
];
|
|
41
|
+
function gitSpawnEnv() {
|
|
42
|
+
const env = { ...process.env };
|
|
43
|
+
for (const key of GIT_ENV_VARS) {
|
|
44
|
+
delete env[key];
|
|
45
|
+
}
|
|
46
|
+
for (const key of Object.keys(env)) {
|
|
47
|
+
if (/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(key)) {
|
|
48
|
+
delete env[key];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return env;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export {
|
|
55
|
+
gitSpawnEnv
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=chunk-J7GAZGZT.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getPlatformShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5ZHVQOI3.js";
|
|
4
4
|
import {
|
|
5
5
|
appendLog,
|
|
6
6
|
createProcess,
|
|
@@ -153,4 +153,4 @@ export {
|
|
|
153
153
|
getSessionProcesses2 as getSessionProcesses,
|
|
154
154
|
getProcessLogs
|
|
155
155
|
};
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
156
|
+
//# sourceMappingURL=chunk-JKZPMRH2.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
gitSpawnEnv
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J7GAZGZT.js";
|
|
4
4
|
import {
|
|
5
5
|
logger
|
|
6
6
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -288,4 +288,4 @@ export {
|
|
|
288
288
|
ensureWorkspace,
|
|
289
289
|
deleteWorkspace
|
|
290
290
|
};
|
|
291
|
-
//# sourceMappingURL=chunk-
|
|
291
|
+
//# sourceMappingURL=chunk-JXTHW3YX.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
computeSessionHash,
|
|
4
4
|
runAgentTurn,
|
|
5
5
|
runChatTurn
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-D324ULDG.js";
|
|
7
7
|
import {
|
|
8
8
|
deleteItemFromDir,
|
|
9
9
|
devServerManager,
|
|
@@ -13,32 +13,44 @@ import {
|
|
|
13
13
|
jsonSerializer,
|
|
14
14
|
loadAllAgentsDefault,
|
|
15
15
|
saveItemToDir
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OBQN5ATP.js";
|
|
17
17
|
import {
|
|
18
18
|
checkAborted,
|
|
19
19
|
onProcessEvent,
|
|
20
20
|
spawnShellProcess
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JKZPMRH2.js";
|
|
22
22
|
import {
|
|
23
23
|
gitSpawnEnv
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-J7GAZGZT.js";
|
|
25
|
+
import {
|
|
26
|
+
createChatErrorMessage,
|
|
27
|
+
createChatMessageMessage,
|
|
28
|
+
createContextStateMessage,
|
|
29
|
+
createErrorMessage,
|
|
30
|
+
createGitStatusMessage,
|
|
31
|
+
createQueueStateMessage,
|
|
32
|
+
createSessionRunningMessage,
|
|
33
|
+
createSessionStateMessage,
|
|
34
|
+
isAskAnswerPayload,
|
|
35
|
+
isSessionLoadPayload,
|
|
36
|
+
parseClientMessage,
|
|
37
|
+
serializeServerMessage,
|
|
38
|
+
storedEventToServerMessage
|
|
39
|
+
} from "./chunk-SJTG56CH.js";
|
|
25
40
|
import {
|
|
26
41
|
getPendingQuestionsForSession,
|
|
27
42
|
provideAnswer
|
|
28
43
|
} from "./chunk-EU3WWTFH.js";
|
|
29
44
|
import {
|
|
30
45
|
appendCompactionPrompt
|
|
31
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-DQP5HSDS.js";
|
|
32
47
|
import {
|
|
33
48
|
TurnMetrics,
|
|
34
49
|
createMessageStartEvent
|
|
35
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-FVY2JOTO.js";
|
|
36
51
|
import {
|
|
37
52
|
getPlatformShell
|
|
38
|
-
} from "./chunk-
|
|
39
|
-
import {
|
|
40
|
-
getMaxVisibleItems
|
|
41
|
-
} from "./chunk-WYJTY63G.js";
|
|
53
|
+
} from "./chunk-5ZHVQOI3.js";
|
|
42
54
|
import {
|
|
43
55
|
killProcessTree,
|
|
44
56
|
terminateProcessTree
|
|
@@ -54,20 +66,8 @@ import {
|
|
|
54
66
|
foldPendingConfirmations
|
|
55
67
|
} from "./chunk-A2IZ4PWQ.js";
|
|
56
68
|
import {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
createContextStateMessage,
|
|
60
|
-
createErrorMessage,
|
|
61
|
-
createGitStatusMessage,
|
|
62
|
-
createQueueStateMessage,
|
|
63
|
-
createSessionRunningMessage,
|
|
64
|
-
createSessionStateMessage,
|
|
65
|
-
isAskAnswerPayload,
|
|
66
|
-
isSessionLoadPayload,
|
|
67
|
-
parseClientMessage,
|
|
68
|
-
serializeServerMessage,
|
|
69
|
-
storedEventToServerMessage
|
|
70
|
-
} from "./chunk-SJTG56CH.js";
|
|
69
|
+
getMaxVisibleItems
|
|
70
|
+
} from "./chunk-CNJ63FXJ.js";
|
|
71
71
|
import {
|
|
72
72
|
logger
|
|
73
73
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -628,9 +628,8 @@ function formatCriteriaList(entries) {
|
|
|
628
628
|
return `- **${e.id}** ${status}: ${e.description}`;
|
|
629
629
|
}).join("\n");
|
|
630
630
|
}
|
|
631
|
-
async function formatModifiedFiles(
|
|
632
|
-
|
|
633
|
-
return formatGitDiffFiles(effectiveWorkdir);
|
|
631
|
+
async function formatModifiedFiles(workdir) {
|
|
632
|
+
return formatGitDiffFiles(workdir);
|
|
634
633
|
}
|
|
635
634
|
function resolveTemplate(template, ctx) {
|
|
636
635
|
let result = template;
|
|
@@ -806,14 +805,14 @@ async function executeWorkflow(workflow, options, subGroup) {
|
|
|
806
805
|
const currentWindowMessageOptions = getCurrentWindowMessageOptions(sessionId);
|
|
807
806
|
const criteriaEntries = session.metadataEntries["criteria"] ?? [];
|
|
808
807
|
const templateCtx = {
|
|
809
|
-
workdir:
|
|
808
|
+
workdir: sessionManager.getEffectiveWorkdir(sessionId),
|
|
810
809
|
reason: buildReason(session.metadataEntries),
|
|
811
810
|
verifierFindings: lastStepOutput["content"] ?? "",
|
|
812
811
|
previousStepOutput: lastStepOutput["stdout"] ?? "",
|
|
813
812
|
criteriaCount: criteriaEntries.length,
|
|
814
813
|
pendingCount: criteriaEntries.filter((e) => e.status !== "passed").length,
|
|
815
814
|
criteriaList: formatCriteriaList(criteriaEntries),
|
|
816
|
-
modifiedFiles: await formatModifiedFiles(
|
|
815
|
+
modifiedFiles: await formatModifiedFiles(sessionManager.getEffectiveWorkdir(sessionId)),
|
|
817
816
|
stepOutput: lastStepOutput
|
|
818
817
|
};
|
|
819
818
|
sessionManager.setPhase(sessionId, step.phase);
|
|
@@ -978,7 +977,12 @@ async function executeWorkflow(workflow, options, subGroup) {
|
|
|
978
977
|
})
|
|
979
978
|
);
|
|
980
979
|
}
|
|
981
|
-
const result = await executeShellCommand(
|
|
980
|
+
const result = await executeShellCommand(
|
|
981
|
+
command,
|
|
982
|
+
sessionManager.getEffectiveWorkdir(sessionId),
|
|
983
|
+
timeout,
|
|
984
|
+
signal
|
|
985
|
+
);
|
|
982
986
|
const output = [result.stdout, result.stderr].filter(Boolean).join("\n").trim();
|
|
983
987
|
lastStepOutput = { stdout: result.stdout ?? "", stderr: result.stderr ?? "", exitCode: String(result.exitCode) };
|
|
984
988
|
const outputContent = output ? `Exit code: ${result.exitCode}
|
|
@@ -1887,7 +1891,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1887
1891
|
return;
|
|
1888
1892
|
}
|
|
1889
1893
|
client.activeSessionId = session.id;
|
|
1890
|
-
const effectiveWorkdir =
|
|
1894
|
+
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(session.id);
|
|
1891
1895
|
client.activeWorkdir = effectiveWorkdir;
|
|
1892
1896
|
if (effectiveWorkdir) {
|
|
1893
1897
|
const branch = await moduleGitBranch(effectiveWorkdir);
|
|
@@ -2213,4 +2217,4 @@ export {
|
|
|
2213
2217
|
signalMcpReady,
|
|
2214
2218
|
createWebSocketServer
|
|
2215
2219
|
};
|
|
2216
|
-
//# sourceMappingURL=chunk-
|
|
2220
|
+
//# sourceMappingURL=chunk-KMGVUOLT.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
spawnShellProcess,
|
|
9
9
|
startProcessCommand,
|
|
10
10
|
stopProcess
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JKZPMRH2.js";
|
|
12
12
|
import {
|
|
13
13
|
createMcpTools
|
|
14
14
|
} from "./chunk-NWO6GRYE.js";
|
|
@@ -18,14 +18,21 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
getGitBranch,
|
|
20
20
|
listWorkspaces
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JXTHW3YX.js";
|
|
22
22
|
import {
|
|
23
23
|
PathAccessDeniedError,
|
|
24
24
|
extractAbsolutePathsFromCommand,
|
|
25
25
|
extractSensitivePathsFromCommand,
|
|
26
26
|
registerPathConfirmation,
|
|
27
27
|
requestPathAccess
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-3D3N2PXI.js";
|
|
29
|
+
import {
|
|
30
|
+
createChatDoneMessage,
|
|
31
|
+
createChatMessageMessage,
|
|
32
|
+
createChatMessageUpdatedMessage,
|
|
33
|
+
createChatPathConfirmationMessage,
|
|
34
|
+
createQueueStateMessage
|
|
35
|
+
} from "./chunk-SJTG56CH.js";
|
|
29
36
|
import {
|
|
30
37
|
AskUserInterrupt,
|
|
31
38
|
askUserTool
|
|
@@ -42,13 +49,7 @@ import {
|
|
|
42
49
|
createToolCallEvent,
|
|
43
50
|
createToolResultEvent,
|
|
44
51
|
streamLLMPure
|
|
45
|
-
} from "./chunk-
|
|
46
|
-
import {
|
|
47
|
-
SETTINGS_KEYS,
|
|
48
|
-
deleteSetting,
|
|
49
|
-
getSetting,
|
|
50
|
-
setSetting
|
|
51
|
-
} from "./chunk-WYJTY63G.js";
|
|
52
|
+
} from "./chunk-FVY2JOTO.js";
|
|
52
53
|
import {
|
|
53
54
|
startInspectProxy
|
|
54
55
|
} from "./chunk-EYIWUONA.js";
|
|
@@ -76,13 +77,6 @@ import {
|
|
|
76
77
|
reorderToolMessages,
|
|
77
78
|
stripOrphanedToolCalls
|
|
78
79
|
} from "./chunk-A2IZ4PWQ.js";
|
|
79
|
-
import {
|
|
80
|
-
createChatDoneMessage,
|
|
81
|
-
createChatMessageMessage,
|
|
82
|
-
createChatMessageUpdatedMessage,
|
|
83
|
-
createChatPathConfirmationMessage,
|
|
84
|
-
createQueueStateMessage
|
|
85
|
-
} from "./chunk-SJTG56CH.js";
|
|
86
80
|
import {
|
|
87
81
|
modelSupportsVision
|
|
88
82
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -97,6 +91,12 @@ import {
|
|
|
97
91
|
isPdfBuffer,
|
|
98
92
|
processPdfContent
|
|
99
93
|
} from "./chunk-RMXPVQP4.js";
|
|
94
|
+
import {
|
|
95
|
+
SETTINGS_KEYS,
|
|
96
|
+
deleteSetting,
|
|
97
|
+
getSetting,
|
|
98
|
+
setSetting
|
|
99
|
+
} from "./chunk-CNJ63FXJ.js";
|
|
100
100
|
import {
|
|
101
101
|
logger
|
|
102
102
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -114,13 +114,13 @@ import { extname, join } from "path";
|
|
|
114
114
|
|
|
115
115
|
// src/server/tools/tool-helpers.ts
|
|
116
116
|
import { randomUUID } from "crypto";
|
|
117
|
-
import { resolve
|
|
117
|
+
import { resolve } from "path";
|
|
118
118
|
var confirmationSeqCounter = 0;
|
|
119
119
|
async function requestUserConfirmation(context, toolLabel, desc) {
|
|
120
120
|
if (context.dangerLevel === "dangerous") return Promise.resolve(true);
|
|
121
121
|
if (toolLabel === "workspace" || toolLabel === "command") {
|
|
122
122
|
try {
|
|
123
|
-
const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-
|
|
123
|
+
const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-6TJIHDVX.js");
|
|
124
124
|
if (getSetting2(SETTINGS_KEYS2.CONFIRM_ON_WORKSPACE_ACTIONS) !== "true") {
|
|
125
125
|
return Promise.resolve(true);
|
|
126
126
|
}
|
|
@@ -199,7 +199,7 @@ function createTool(name, definition, handler2) {
|
|
|
199
199
|
async execute(args, context) {
|
|
200
200
|
const startTime = Date.now();
|
|
201
201
|
const helpers = {
|
|
202
|
-
resolvePath: (path) =>
|
|
202
|
+
resolvePath: (path) => resolve(context.workdir, path),
|
|
203
203
|
checkPathAccess: async (paths, command) => {
|
|
204
204
|
if (context.onEvent) {
|
|
205
205
|
await requestPathAccess(
|
|
@@ -1031,7 +1031,7 @@ Make sure whitespace and indentation match exactly.`
|
|
|
1031
1031
|
|
|
1032
1032
|
// src/server/tools/shell.ts
|
|
1033
1033
|
import { spawn } from "child_process";
|
|
1034
|
-
import { resolve as resolve3, isAbsolute
|
|
1034
|
+
import { resolve as resolve3, isAbsolute } from "path";
|
|
1035
1035
|
import { access } from "fs/promises";
|
|
1036
1036
|
import stripAnsi from "strip-ansi";
|
|
1037
1037
|
|
|
@@ -1143,12 +1143,12 @@ var runCommandTool = createTool(
|
|
|
1143
1143
|
const pathsToCheck = [workingDir];
|
|
1144
1144
|
const commandPaths = extractAbsolutePathsFromCommand(args.command);
|
|
1145
1145
|
for (const cmdPath of commandPaths) {
|
|
1146
|
-
const resolved =
|
|
1146
|
+
const resolved = isAbsolute(cmdPath) ? cmdPath : resolve3(workingDir, cmdPath);
|
|
1147
1147
|
pathsToCheck.push(resolved);
|
|
1148
1148
|
}
|
|
1149
1149
|
const sensitivePaths = extractSensitivePathsFromCommand(args.command);
|
|
1150
1150
|
for (const sensitivePath of sensitivePaths) {
|
|
1151
|
-
const resolved =
|
|
1151
|
+
const resolved = isAbsolute(sensitivePath) ? sensitivePath : resolve3(workingDir, sensitivePath);
|
|
1152
1152
|
pathsToCheck.push(resolved);
|
|
1153
1153
|
}
|
|
1154
1154
|
await helpers.checkPathAccess(pathsToCheck, args.command);
|
|
@@ -1469,7 +1469,7 @@ ${Object.entries(schema.fields).map(([f, t]) => ` ${f}: ${t}`).join("\n")}`
|
|
|
1469
1469
|
|
|
1470
1470
|
// src/server/sub-agents/manager.ts
|
|
1471
1471
|
import { readFile as readFile8, access as access5 } from "fs/promises";
|
|
1472
|
-
import { join as join6, dirname as dirname5, isAbsolute as
|
|
1472
|
+
import { join as join6, dirname as dirname5, isAbsolute as isAbsolute2 } from "path";
|
|
1473
1473
|
|
|
1474
1474
|
// src/server/agents/registry.ts
|
|
1475
1475
|
import { readdir as readdir3, readFile as readFile5, writeFile as writeFile4, mkdir as mkdir3, access as access3, unlink as unlink2 } from "fs/promises";
|
|
@@ -2576,7 +2576,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
2576
2576
|
sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens, config.subAgentMetadata?.subAgentId);
|
|
2577
2577
|
if (!compacting) {
|
|
2578
2578
|
const contextState2 = sessionManager.getContextState(sessionId);
|
|
2579
|
-
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-
|
|
2579
|
+
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-YKESKGHL.js");
|
|
2580
2580
|
if (shouldCompact(
|
|
2581
2581
|
contextState2.currentTokens,
|
|
2582
2582
|
contextState2.maxTokens,
|
|
@@ -2661,7 +2661,7 @@ ${COMPACTION_PROMPT}`,
|
|
|
2661
2661
|
toolRegistry,
|
|
2662
2662
|
sessionManager,
|
|
2663
2663
|
sessionId,
|
|
2664
|
-
workdir:
|
|
2664
|
+
workdir: sessionManager.getEffectiveWorkdir(sessionId),
|
|
2665
2665
|
turnMetrics,
|
|
2666
2666
|
signal,
|
|
2667
2667
|
onMessage,
|
|
@@ -3307,7 +3307,7 @@ function getWindowOptions(sessionId) {
|
|
|
3307
3307
|
return id ? { contextWindowId: id } : void 0;
|
|
3308
3308
|
}
|
|
3309
3309
|
async function loadGitIgnoreRules(workdir) {
|
|
3310
|
-
if (!
|
|
3310
|
+
if (!isAbsolute2(workdir)) return "";
|
|
3311
3311
|
let currentDir = workdir;
|
|
3312
3312
|
while (true) {
|
|
3313
3313
|
const gitignorePath = join6(currentDir, ".gitignore");
|
|
@@ -3400,7 +3400,7 @@ async function executeSubAgent(options) {
|
|
|
3400
3400
|
})
|
|
3401
3401
|
);
|
|
3402
3402
|
}
|
|
3403
|
-
const effectiveWorkdir =
|
|
3403
|
+
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(session.id);
|
|
3404
3404
|
const { content: instructionContent } = await getAllInstructions(effectiveWorkdir, session.projectId);
|
|
3405
3405
|
const config = getRuntimeConfig();
|
|
3406
3406
|
const configDir = getGlobalConfigDir(config.mode ?? "production");
|
|
@@ -3515,7 +3515,7 @@ var callSubAgentTool = {
|
|
|
3515
3515
|
};
|
|
3516
3516
|
}
|
|
3517
3517
|
try {
|
|
3518
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
3518
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-X4YLRR2Y.js");
|
|
3519
3519
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
3520
3520
|
const turnMetrics = new TurnMetrics();
|
|
3521
3521
|
const result = await executeSubAgent({
|
|
@@ -4518,7 +4518,7 @@ var mcpConfigTool = createTool(
|
|
|
4518
4518
|
mcpNotifyChanged?.(sessionId);
|
|
4519
4519
|
}
|
|
4520
4520
|
async function rebuildTools() {
|
|
4521
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
4521
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-X4YLRR2Y.js");
|
|
4522
4522
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
4523
4523
|
setMcpTools2(mcpTools);
|
|
4524
4524
|
}
|
|
@@ -4861,7 +4861,7 @@ var workspaceTool = createTool(
|
|
|
4861
4861
|
if (!session) return helpers.error("Session not found");
|
|
4862
4862
|
const project = sessionManager.getProject(session.projectId);
|
|
4863
4863
|
if (!project) return helpers.error("Project not found");
|
|
4864
|
-
const currentBranch = await getGitBranch(
|
|
4864
|
+
const currentBranch = await getGitBranch(sessionManager.getEffectiveWorkdir(session.id));
|
|
4865
4865
|
const named = await listWorkspaces(project.name, project.workdir);
|
|
4866
4866
|
const activeWsName = session.workspace?.split("/").pop() ?? null;
|
|
4867
4867
|
const workspaces = [
|
|
@@ -5181,4 +5181,4 @@ export {
|
|
|
5181
5181
|
getToolRegistryForAgent,
|
|
5182
5182
|
createToolRegistry
|
|
5183
5183
|
};
|
|
5184
|
-
//# sourceMappingURL=chunk-
|
|
5184
|
+
//# sourceMappingURL=chunk-OBQN5ATP.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
LLMError,
|
|
19
19
|
OpenAIHttpClient
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-IIRXKSB5.js";
|
|
21
21
|
import {
|
|
22
22
|
logger
|
|
23
23
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -268,4 +268,4 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
268
268
|
export {
|
|
269
269
|
createLLMClient
|
|
270
270
|
};
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-SBSQD7MG.js.map
|