openfox 2.0.141 → 2.0.143
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 +32 -0
- package/dist/CHANGELOG.md +32 -0
- package/dist/{backend-EPISSWLB.js → backend-2VSDPCWS.js} +2 -2
- package/dist/{chat-handler-F7QRNO2E.js → chat-handler-VDB4CSXK.js} +29 -29
- package/dist/{chunk-CRJ5J7U5.js → chunk-2CEZQAGQ.js} +3 -3
- package/dist/{chunk-IZVIN7XC.js → chunk-5KA3L46F.js} +7 -7
- package/dist/chunk-6DLQ2AV4.js +7 -0
- package/dist/{chunk-R5FAEKXQ.js → chunk-73BO5OT3.js} +2 -1
- package/dist/{chunk-PS5CHS7S.js → chunk-7XA3MEX2.js} +18 -18
- package/dist/{chunk-OA7KBQ2O.js → chunk-CTAYPMB2.js} +2 -2
- package/dist/{chunk-CEEBKCGX.js → chunk-CYTC2E3O.js} +7 -7
- package/dist/{chunk-EE6VFEE6.js → chunk-DNL2NUDB.js} +2 -2
- package/dist/{chunk-UA2ATO3B.js → chunk-DQEANXXF.js} +3 -3
- package/dist/{chunk-4F4ARGAM.js → chunk-DRIR2IZR.js} +3 -3
- package/dist/{chunk-AE2IBEUH.js → chunk-EFEHIJXF.js} +2 -2
- package/dist/{chunk-TJOKDC34.js → chunk-EX6ROYYS.js} +399 -86
- package/dist/{chunk-DBF5GKZF.js → chunk-F3R4YS3F.js} +3 -3
- package/dist/{chunk-SSHXYKW3.js → chunk-FHBLF2QR.js} +3 -3
- package/dist/{chunk-VLQ6BMU7.js → chunk-FTPQI5TA.js} +11 -1
- package/dist/{chunk-RCEGPT57.js → chunk-H3QN2J4X.js} +7 -7
- package/dist/{chunk-RHUZLWZV.js → chunk-HZOL7UEC.js} +8 -8
- package/dist/{chunk-SKHU4M6L.js → chunk-IMQDO5EJ.js} +143 -139
- package/dist/{chunk-DPFET73G.js → chunk-JYYBSODN.js} +2 -2
- package/dist/{chunk-H7YL7PH3.js → chunk-KVDOPLXJ.js} +3 -3
- package/dist/{chunk-46Q2SHGJ.js → chunk-MEPTCUYN.js} +2 -2
- package/dist/{chunk-YFTCFJJM.js → chunk-N5AJHJG5.js} +3 -3
- package/dist/{chunk-2OTUYNXD.js → chunk-NJFXYSXP.js} +5 -5
- package/dist/{chunk-XE6UC5Z3.js → chunk-PHR64A6U.js} +2 -2
- package/dist/{chunk-BB67GW5P.js → chunk-QZV3M6V5.js} +13 -13
- package/dist/{chunk-G7BQWMV7.js → chunk-SJTBOREW.js} +4 -4
- package/dist/{chunk-EMXMTCSY.js → chunk-SKNPOZYP.js} +4 -2
- package/dist/{chunk-JLHYB445.js → chunk-TIIWXMGE.js} +2 -2
- package/dist/{chunk-LW6MMSTD.js → chunk-VGE6UYND.js} +2 -2
- package/dist/{chunk-UJO67GFD.js → chunk-VKZBCC75.js} +11 -10
- package/dist/{chunk-JU757HVI.js → chunk-WOVWVB5J.js} +11 -1
- package/dist/{chunk-FBOIDBPA.js → chunk-WSDR27YV.js} +4 -4
- package/dist/{chunk-NDAXMOD2.js → chunk-Z4CTMGFH.js} +30 -29
- package/dist/{chunk-GKRYQ56N.js → chunk-Z7IT3V22.js} +3 -3
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-KJS7QIIV.js → client-ZEGIB3MF.js} +6 -6
- package/dist/{compactor-QDTK3SZI.js → compactor-2MSRXHVA.js} +13 -13
- package/dist/{config-LOK3LXFH.js → config-AJSENHBC.js} +2 -2
- package/dist/{describe-image-UFOHQIPB.js → describe-image-QSEMMRV7.js} +12 -12
- package/dist/{dynamic-context-UEC6MMEV.js → dynamic-context-3THEBFBI.js} +12 -12
- package/dist/{events-73MLUDTX.js → events-UAUOGRSV.js} +8 -8
- package/dist/{export-import-7I7EJKTE.js → export-import-SYYISNTZ.js} +9 -9
- package/dist/{folding-BXMVJIFF.js → folding-IHD244OU.js} +6 -6
- package/dist/http-client-RA7XFYPO.js +11 -0
- package/dist/{inspect-proxy-A3OROWPG.js → inspect-proxy-24Q2CNCZ.js} +4 -4
- package/dist/launch-MF2VT7SU.js +58 -0
- package/dist/{manager-JZNNVDYR.js → manager-4SMHCFXY.js} +5 -5
- package/dist/{mcp-SQ4DOGPT.js → mcp-C7PNGP25.js} +2 -2
- package/dist/{orchestrator-IRUEM4R4.js → orchestrator-BU4RJHPZ.js} +28 -28
- package/dist/package.json +1 -1
- package/dist/{path-security-MQXMTFRU.js → path-security-WOA6MTWQ.js} +10 -10
- package/dist/{platform-DBPLSLE4.js → platform-EAZNZDAE.js} +4 -4
- package/dist/{processor-VMUKAMG6.js → processor-IZ4EAHPD.js} +28 -28
- package/dist/{project-creator-T3A4H3YV.js → project-creator-K5EGKY2P.js} +3 -3
- package/dist/{projects-5U37RUTL.js → projects-VDWCFPVE.js} +3 -3
- package/dist/{protocol-D6DZzkSH.d.ts → protocol-Ch2s26bR.d.ts} +1 -1
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-7LNTLWRB.js → provider-YNTH5YG5.js} +9 -9
- package/dist/{provider-manager-TV5I5YJH.js → provider-manager-2UENHAAA.js} +7 -7
- package/dist/{registry-PVJAAL2Y.js → registry-C7RKKHZB.js} +5 -5
- package/dist/scheduler-VLTPMGGJ.js +25 -0
- package/dist/{serve-HTJREJEC.js → serve-KKAOO7YM.js} +34 -34
- package/dist/server/index.d.ts +4 -4
- package/dist/server/index.js +33 -33
- package/dist/server-PVO4USPN.js +61 -0
- package/dist/{service-7QKWUNU4.js → service-OQZWTW34.js} +10 -10
- package/dist/{session-overrides-WYOY7PVC.js → session-overrides-CKS2AVE5.js} +7 -7
- package/dist/{sessions-U6D2T5QP.js → sessions-DAHLRQE2.js} +6 -6
- package/dist/{settings-HCSHADP5.js → settings-TR4BF2C4.js} +3 -3
- package/dist/shared/index.d.ts +3 -3
- package/dist/{tasks-E7EG7344.js → tasks-WC23TK6I.js} +19 -13
- package/dist/{tools-F4COIAZR.js → tools-CECV6XQ6.js} +26 -26
- package/dist/{types-CLcL33hJ.d.ts → types-BajWwfkt.d.ts} +35 -2
- package/dist/{types-ofYNpiqi.d.ts → types-BiHNYUUI.d.ts} +1 -1
- package/dist/{update-5TGZTHLD.js → update-6MBRWJAV.js} +2 -2
- package/dist/web/assets/{index-2WvLd7SC.css → index--zSmgMW5.css} +1 -1
- package/dist/web/assets/index-CxuR2kCS.js +316 -0
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-LM646OHC.js → workspace-ENN27P56.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-LDWWVUW7.js +0 -7
- package/dist/http-client-JVJ43TBY.js +0 -11
- package/dist/launch-77CO4C7W.js +0 -58
- package/dist/server-5FECIKQK.js +0 -61
- package/dist/web/assets/index-A0-uewf7.js +0 -313
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
terminalManager,
|
|
10
10
|
tokenFromPassword,
|
|
11
11
|
verifyPassword
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-7XA3MEX2.js";
|
|
13
13
|
import {
|
|
14
14
|
projectSessionStatus
|
|
15
15
|
} from "./chunk-T3S5MTMD.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./chunk-IJ53Y77N.js";
|
|
28
28
|
import {
|
|
29
29
|
TEMPLATE_VARIABLES
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-VKZBCC75.js";
|
|
31
31
|
import {
|
|
32
32
|
createToolRegistry,
|
|
33
33
|
devServerManager,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
setMcpManagerForTools,
|
|
43
43
|
setMcpTools,
|
|
44
44
|
setNotifyMcpServersChanged
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-Z4CTMGFH.js";
|
|
46
46
|
import {
|
|
47
47
|
deleteOwnedSkill,
|
|
48
48
|
deleteProjectSkill,
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
setSkillEnabled,
|
|
62
62
|
skillExists,
|
|
63
63
|
updateOwnedSkill
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-2CEZQAGQ.js";
|
|
65
65
|
import {
|
|
66
66
|
checkoutBranchFromSharedSource,
|
|
67
67
|
deleteWorkspace,
|
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
validateRef,
|
|
79
79
|
validateWorkspaceName,
|
|
80
80
|
workspaceExists
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-PHR64A6U.js";
|
|
82
82
|
import {
|
|
83
83
|
commandExists,
|
|
84
84
|
deleteCommand,
|
|
@@ -106,22 +106,22 @@ import {
|
|
|
106
106
|
saveWorkflow,
|
|
107
107
|
saveWorkflowToProject,
|
|
108
108
|
workflowExists
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-EX6ROYYS.js";
|
|
110
110
|
import {
|
|
111
111
|
clearSessionOverrides,
|
|
112
112
|
computeDisabledServersForProject,
|
|
113
113
|
getSessionDisabledServers,
|
|
114
114
|
initSessionMcpOverrides,
|
|
115
115
|
setSessionDisabledServers
|
|
116
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-WSDR27YV.js";
|
|
117
117
|
import {
|
|
118
118
|
serverT
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-TIIWXMGE.js";
|
|
120
120
|
import {
|
|
121
121
|
ALWAYS_ALLOWED,
|
|
122
122
|
ALWAYS_ALLOWED_FOR_SUBAGENTS,
|
|
123
123
|
TOP_LEVEL_ONLY_TOOLS
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-Z7IT3V22.js";
|
|
125
125
|
import {
|
|
126
126
|
createMcpTools
|
|
127
127
|
} from "./chunk-VIJVLLPT.js";
|
|
@@ -133,7 +133,7 @@ import {
|
|
|
133
133
|
import {
|
|
134
134
|
getPendingConfirmationsBySession,
|
|
135
135
|
providePathConfirmation
|
|
136
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-N5AJHJG5.js";
|
|
137
137
|
import {
|
|
138
138
|
combineEventsWithSnapshot,
|
|
139
139
|
emitAssistantMessageStart,
|
|
@@ -151,10 +151,10 @@ import {
|
|
|
151
151
|
getEventStore,
|
|
152
152
|
getSessionState,
|
|
153
153
|
initEventStore
|
|
154
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-NJFXYSXP.js";
|
|
155
155
|
import {
|
|
156
156
|
buildMessagesFromStoredEvents
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-EFEHIJXF.js";
|
|
158
158
|
import {
|
|
159
159
|
clearWorkflowExecution,
|
|
160
160
|
createSession,
|
|
@@ -181,7 +181,7 @@ import {
|
|
|
181
181
|
updateSessionRunning,
|
|
182
182
|
updateSessionWorkdir,
|
|
183
183
|
updateWorkflowExecutionStatus
|
|
184
|
-
} from "./chunk-
|
|
184
|
+
} from "./chunk-F3R4YS3F.js";
|
|
185
185
|
import {
|
|
186
186
|
agentExists,
|
|
187
187
|
deleteAgent,
|
|
@@ -198,7 +198,7 @@ import {
|
|
|
198
198
|
saveAgent,
|
|
199
199
|
saveAgentToProject,
|
|
200
200
|
setRuntimeConfig
|
|
201
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-DRIR2IZR.js";
|
|
202
202
|
import {
|
|
203
203
|
findFileByInternalId,
|
|
204
204
|
pathExists
|
|
@@ -210,32 +210,32 @@ import {
|
|
|
210
210
|
import {
|
|
211
211
|
getPathSeparator,
|
|
212
212
|
isAbsolutePath
|
|
213
|
-
} from "./chunk-
|
|
213
|
+
} from "./chunk-MEPTCUYN.js";
|
|
214
214
|
import {
|
|
215
215
|
createProviderManager,
|
|
216
216
|
detectModel,
|
|
217
217
|
getLlmStatus,
|
|
218
218
|
parseDefaultModelSelection
|
|
219
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-KVDOPLXJ.js";
|
|
220
220
|
import {
|
|
221
221
|
buildOpenFoxMcpBootstrap
|
|
222
222
|
} from "./chunk-YNMP647F.js";
|
|
223
223
|
import {
|
|
224
224
|
VERSION
|
|
225
|
-
} from "./chunk-
|
|
225
|
+
} from "./chunk-6DLQ2AV4.js";
|
|
226
226
|
import {
|
|
227
227
|
deleteProject,
|
|
228
228
|
getProject,
|
|
229
229
|
getProjectByWorkdir,
|
|
230
230
|
updateProject
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-JYYBSODN.js";
|
|
232
232
|
import {
|
|
233
233
|
getModelProfile
|
|
234
234
|
} from "./chunk-TS5WKTFB.js";
|
|
235
235
|
import {
|
|
236
236
|
detectBackendFromUrl,
|
|
237
237
|
getBackendDisplayName
|
|
238
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-FTPQI5TA.js";
|
|
239
239
|
import {
|
|
240
240
|
buildModelsUrl
|
|
241
241
|
} from "./chunk-HNCM3D7Y.js";
|
|
@@ -245,15 +245,15 @@ import {
|
|
|
245
245
|
import {
|
|
246
246
|
SessionNotFoundError,
|
|
247
247
|
WorkspaceInUseError
|
|
248
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-DNL2NUDB.js";
|
|
249
249
|
import {
|
|
250
250
|
deleteSetting,
|
|
251
251
|
getSetting,
|
|
252
252
|
setSetting
|
|
253
|
-
} from "./chunk-
|
|
253
|
+
} from "./chunk-SKNPOZYP.js";
|
|
254
254
|
import {
|
|
255
255
|
initDatabase
|
|
256
|
-
} from "./chunk-
|
|
256
|
+
} from "./chunk-WOVWVB5J.js";
|
|
257
257
|
import {
|
|
258
258
|
isReasoningEffortValidForModel,
|
|
259
259
|
isReasoningEffortValue
|
|
@@ -3145,9 +3145,9 @@ var SessionManager = class {
|
|
|
3145
3145
|
* @throws Error for invalid payloads or unknown project
|
|
3146
3146
|
*/
|
|
3147
3147
|
async importSession(projectId, rawPayload) {
|
|
3148
|
-
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-
|
|
3149
|
-
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-
|
|
3150
|
-
const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-
|
|
3148
|
+
const { parseSessionExport, IMPORTED_SESSION_REMINDER, SESSION_EXPORT_VERSION } = await import("./export-import-SYYISNTZ.js");
|
|
3149
|
+
const { injectContextDriftReminders, getToolSetFingerprint } = await import("./dynamic-context-3THEBFBI.js");
|
|
3150
|
+
const { loadAllAgentsDefault: loadAllAgentsDefault2, resolveDefaultAgentId } = await import("./registry-C7RKKHZB.js");
|
|
3151
3151
|
const payload = parseSessionExport(rawPayload);
|
|
3152
3152
|
if (payload.version !== SESSION_EXPORT_VERSION) {
|
|
3153
3153
|
throw new Error(`Unsupported session export version: ${payload.version}`);
|
|
@@ -6740,7 +6740,7 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
|
|
|
6740
6740
|
try {
|
|
6741
6741
|
const { challenge, completion } = await adapter.beginLogin({ providerId: provider.id });
|
|
6742
6742
|
void completion.then(async ({ credentialRef }) => {
|
|
6743
|
-
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-
|
|
6743
|
+
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
|
|
6744
6744
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
6745
6745
|
const updatedConfig = updateProvider(globalConfig, provider.id, { credentialRef, authAdapter: adapter.id });
|
|
6746
6746
|
await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
|
|
@@ -6782,7 +6782,7 @@ function createProviderAuthRoutes(config3, providerManager, registry) {
|
|
|
6782
6782
|
const ref = provider.credentialRef ?? provider.id;
|
|
6783
6783
|
await adapter.logout(ref);
|
|
6784
6784
|
}
|
|
6785
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
6785
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
6786
6786
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
6787
6787
|
const updatedConfig = {
|
|
6788
6788
|
...globalConfig,
|
|
@@ -7246,7 +7246,7 @@ function detectWsl() {
|
|
|
7246
7246
|
// src/server/index.ts
|
|
7247
7247
|
var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
|
|
7248
7248
|
async function announceContextDrift(sessionManager, sessionIds) {
|
|
7249
|
-
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-
|
|
7249
|
+
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-3THEBFBI.js");
|
|
7250
7250
|
await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
|
|
7251
7251
|
}
|
|
7252
7252
|
async function createServerHandle(config3) {
|
|
@@ -7323,7 +7323,7 @@ async function createServerHandle(config3) {
|
|
|
7323
7323
|
const mcpManager = new McpManager({
|
|
7324
7324
|
onToolsDiscovered: async (name, tools) => {
|
|
7325
7325
|
try {
|
|
7326
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
7326
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
7327
7327
|
const mode = config3.mode ?? "production";
|
|
7328
7328
|
const globalConfig = await loadGlobalConfig(mode, config3.globalConfigPath);
|
|
7329
7329
|
const mcpServers2 = {
|
|
@@ -7339,7 +7339,7 @@ async function createServerHandle(config3) {
|
|
|
7339
7339
|
}
|
|
7340
7340
|
});
|
|
7341
7341
|
setMcpManagerForTools(mcpManager);
|
|
7342
|
-
const { setGlobalMcpServersProvider } = await import("./session-overrides-
|
|
7342
|
+
const { setGlobalMcpServersProvider } = await import("./session-overrides-CKS2AVE5.js");
|
|
7343
7343
|
setGlobalMcpServersProvider(
|
|
7344
7344
|
() => mcpManager.getAllServers().map((s) => ({ name: s.name, disabled: s.config.disabled }))
|
|
7345
7345
|
);
|
|
@@ -7362,7 +7362,7 @@ async function createServerHandle(config3) {
|
|
|
7362
7362
|
toolRegistry = createToolRegistry();
|
|
7363
7363
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
7364
7364
|
}
|
|
7365
|
-
const { signalMcpReady } = await import("./server-
|
|
7365
|
+
const { signalMcpReady } = await import("./server-PVO4USPN.js");
|
|
7366
7366
|
signalMcpReady();
|
|
7367
7367
|
}
|
|
7368
7368
|
const app = express();
|
|
@@ -7464,7 +7464,7 @@ async function createServerHandle(config3) {
|
|
|
7464
7464
|
res.json({ tools });
|
|
7465
7465
|
});
|
|
7466
7466
|
app.get("/api/projects", async (_req, res) => {
|
|
7467
|
-
const { listProjects: listProjects2 } = await import("./projects-
|
|
7467
|
+
const { listProjects: listProjects2 } = await import("./projects-VDWCFPVE.js");
|
|
7468
7468
|
const projects = listProjects2();
|
|
7469
7469
|
res.json({ projects });
|
|
7470
7470
|
});
|
|
@@ -7473,7 +7473,7 @@ async function createServerHandle(config3) {
|
|
|
7473
7473
|
if (!name || !workdir) {
|
|
7474
7474
|
return res.status(400).json({ error: "name and workdir are required" });
|
|
7475
7475
|
}
|
|
7476
|
-
const { createProjectDirectory } = await import("./project-creator-
|
|
7476
|
+
const { createProjectDirectory } = await import("./project-creator-K5EGKY2P.js");
|
|
7477
7477
|
try {
|
|
7478
7478
|
const project = await createProjectDirectory(name, workdir);
|
|
7479
7479
|
res.status(201).json({ project });
|
|
@@ -7518,7 +7518,7 @@ async function createServerHandle(config3) {
|
|
|
7518
7518
|
}
|
|
7519
7519
|
});
|
|
7520
7520
|
app.get("/api/projects/:id", async (req, res) => {
|
|
7521
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7521
|
+
const { getProject: getProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7522
7522
|
const project = getProject2(req.params.id);
|
|
7523
7523
|
if (!project) {
|
|
7524
7524
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7526,7 +7526,7 @@ async function createServerHandle(config3) {
|
|
|
7526
7526
|
res.json({ project });
|
|
7527
7527
|
});
|
|
7528
7528
|
app.get("/api/projects/:id/open-folder", async (req, res) => {
|
|
7529
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7529
|
+
const { getProject: getProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7530
7530
|
const project = getProject2(req.params.id);
|
|
7531
7531
|
if (!project) {
|
|
7532
7532
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7540,7 +7540,7 @@ async function createServerHandle(config3) {
|
|
|
7540
7540
|
}
|
|
7541
7541
|
});
|
|
7542
7542
|
app.put("/api/projects/:id", async (req, res) => {
|
|
7543
|
-
const { updateProject: updateProject2 } = await import("./projects-
|
|
7543
|
+
const { updateProject: updateProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7544
7544
|
const { name, customInstructions, dangerLevel, defaultAgent } = req.body;
|
|
7545
7545
|
const updates = {};
|
|
7546
7546
|
if (name !== void 0) updates.name = name;
|
|
@@ -7554,7 +7554,7 @@ async function createServerHandle(config3) {
|
|
|
7554
7554
|
res.json({ project: updated });
|
|
7555
7555
|
});
|
|
7556
7556
|
app.delete("/api/projects/:id", async (req, res) => {
|
|
7557
|
-
const { getProject: getProject2, deleteProject: deleteProject2 } = await import("./projects-
|
|
7557
|
+
const { getProject: getProject2, deleteProject: deleteProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7558
7558
|
const project = getProject2(req.params.id);
|
|
7559
7559
|
if (!project) {
|
|
7560
7560
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7563,7 +7563,7 @@ async function createServerHandle(config3) {
|
|
|
7563
7563
|
res.json({ success: true });
|
|
7564
7564
|
});
|
|
7565
7565
|
app.put("/api/projects/:id/star", async (req, res) => {
|
|
7566
|
-
const { toggleStar } = await import("./projects-
|
|
7566
|
+
const { toggleStar } = await import("./projects-VDWCFPVE.js");
|
|
7567
7567
|
const { isStarred } = req.body;
|
|
7568
7568
|
if (typeof isStarred !== "boolean") {
|
|
7569
7569
|
return res.status(400).json({ error: "isStarred is required and must be a boolean" });
|
|
@@ -7577,9 +7577,9 @@ async function createServerHandle(config3) {
|
|
|
7577
7577
|
const sessionFavoriteRouter = express.Router();
|
|
7578
7578
|
registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
|
|
7579
7579
|
app.use("/api", sessionFavoriteRouter);
|
|
7580
|
-
const { createTasksService } = await import("./service-
|
|
7581
|
-
const { registerTaskRoutes } = await import("./tasks-
|
|
7582
|
-
const { setTasksService } = await import("./tools-
|
|
7580
|
+
const { createTasksService } = await import("./service-OQZWTW34.js");
|
|
7581
|
+
const { registerTaskRoutes } = await import("./tasks-WC23TK6I.js");
|
|
7582
|
+
const { setTasksService } = await import("./tools-CECV6XQ6.js");
|
|
7583
7583
|
const tasksService = createTasksService({
|
|
7584
7584
|
sessionManager,
|
|
7585
7585
|
config: config3,
|
|
@@ -7588,30 +7588,33 @@ async function createServerHandle(config3) {
|
|
|
7588
7588
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch)
|
|
7589
7589
|
});
|
|
7590
7590
|
setTasksService(tasksService);
|
|
7591
|
+
const { createTaskScheduler } = await import("./scheduler-VLTPMGGJ.js");
|
|
7592
|
+
const taskScheduler = createTaskScheduler({ run: () => tasksService.runScheduled() });
|
|
7593
|
+
taskScheduler.start();
|
|
7591
7594
|
const tasksRouter = express.Router();
|
|
7592
7595
|
registerTaskRoutes(tasksRouter, tasksService);
|
|
7593
7596
|
app.use("/api", tasksRouter);
|
|
7594
7597
|
app.get("/api/projects/:id/branches", async (req, res) => {
|
|
7595
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7598
|
+
const { getProject: getProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7596
7599
|
const project = getProject2(req.params.id);
|
|
7597
7600
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7598
|
-
const { listBranches } = await import("./workspace-
|
|
7601
|
+
const { listBranches } = await import("./workspace-ENN27P56.js");
|
|
7599
7602
|
const branches = await listBranches(project.workdir);
|
|
7600
7603
|
res.json({ branches });
|
|
7601
7604
|
});
|
|
7602
7605
|
app.post("/api/projects/:id/checkout", async (req, res) => {
|
|
7603
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7606
|
+
const { getProject: getProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7604
7607
|
const project = getProject2(req.params.id);
|
|
7605
7608
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7606
7609
|
const { branch } = req.body;
|
|
7607
7610
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
7608
|
-
const { checkoutBranch, isGitRepository } = await import("./workspace-
|
|
7611
|
+
const { checkoutBranch, isGitRepository } = await import("./workspace-ENN27P56.js");
|
|
7609
7612
|
if (!await isGitRepository(project.workdir)) {
|
|
7610
7613
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7611
7614
|
}
|
|
7612
7615
|
try {
|
|
7613
7616
|
await checkoutBranch(project.workdir, branch);
|
|
7614
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7617
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
|
|
7615
7618
|
const allSessions = sessionManager.listSessions();
|
|
7616
7619
|
for (const s of allSessions) {
|
|
7617
7620
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -7625,12 +7628,12 @@ async function createServerHandle(config3) {
|
|
|
7625
7628
|
}
|
|
7626
7629
|
});
|
|
7627
7630
|
app.post("/api/projects/:id/checkout-new", async (req, res) => {
|
|
7628
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7631
|
+
const { getProject: getProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7629
7632
|
const project = getProject2(req.params.id);
|
|
7630
7633
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7631
7634
|
const { name, sourceBranch } = req.body;
|
|
7632
7635
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
7633
|
-
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-
|
|
7636
|
+
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-ENN27P56.js");
|
|
7634
7637
|
if (!await isGitRepository(project.workdir)) {
|
|
7635
7638
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7636
7639
|
}
|
|
@@ -7647,7 +7650,7 @@ async function createServerHandle(config3) {
|
|
|
7647
7650
|
);
|
|
7648
7651
|
}
|
|
7649
7652
|
await createBranch(project.workdir, name, sb);
|
|
7650
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7653
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
|
|
7651
7654
|
const allSessions = sessionManager.listSessions();
|
|
7652
7655
|
for (const s of allSessions) {
|
|
7653
7656
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -7664,7 +7667,7 @@ async function createServerHandle(config3) {
|
|
|
7664
7667
|
const session = sessionManager.getSession(req.params.id);
|
|
7665
7668
|
if (!session) return res.status(404).json({ error: "Session not found" });
|
|
7666
7669
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7667
|
-
const { listBranches, getDefaultBranch } = await import("./workspace-
|
|
7670
|
+
const { listBranches, getDefaultBranch } = await import("./workspace-ENN27P56.js");
|
|
7668
7671
|
const [branches, defaultBranch] = await Promise.all([
|
|
7669
7672
|
listBranches(effectiveWorkdir),
|
|
7670
7673
|
getDefaultBranch(session.workdir)
|
|
@@ -7678,8 +7681,8 @@ async function createServerHandle(config3) {
|
|
|
7678
7681
|
const { branch } = req.body;
|
|
7679
7682
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
7680
7683
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7681
|
-
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-
|
|
7682
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7684
|
+
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-ENN27P56.js");
|
|
7685
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
|
|
7683
7686
|
try {
|
|
7684
7687
|
await validateRef2(effectiveWorkdir, branch);
|
|
7685
7688
|
await checkoutBranch(effectiveWorkdir, branch);
|
|
@@ -7721,16 +7724,16 @@ All file and git operations should use this branch.
|
|
|
7721
7724
|
const { name, sourceBranch } = req.body;
|
|
7722
7725
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
7723
7726
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7724
|
-
const { validateRef: validateRef2 } = await import("./workspace-
|
|
7725
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7727
|
+
const { validateRef: validateRef2 } = await import("./workspace-ENN27P56.js");
|
|
7728
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-DAHLRQE2.js");
|
|
7726
7729
|
try {
|
|
7727
7730
|
await validateRef2(effectiveWorkdir, name);
|
|
7728
7731
|
if (sourceBranch) {
|
|
7729
|
-
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-
|
|
7732
|
+
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-ENN27P56.js");
|
|
7730
7733
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, sourceBranch, session.workdir);
|
|
7731
7734
|
await createBranch(effectiveWorkdir, name, sb);
|
|
7732
7735
|
} else {
|
|
7733
|
-
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-
|
|
7736
|
+
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-ENN27P56.js");
|
|
7734
7737
|
const defaultBranch = await getDefaultBranch(session.workdir);
|
|
7735
7738
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, defaultBranch, session.workdir);
|
|
7736
7739
|
await createBranch(effectiveWorkdir, name, sb);
|
|
@@ -7768,17 +7771,17 @@ All file and git operations should use this branch.
|
|
|
7768
7771
|
}
|
|
7769
7772
|
});
|
|
7770
7773
|
app.get("/api/projects/:id/workspaces", async (req, res) => {
|
|
7771
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7774
|
+
const { getProject: getProject2 } = await import("./projects-VDWCFPVE.js");
|
|
7772
7775
|
const project = getProject2(req.params.id);
|
|
7773
7776
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7774
|
-
const { listWorkspaces } = await import("./workspace-
|
|
7777
|
+
const { listWorkspaces } = await import("./workspace-ENN27P56.js");
|
|
7775
7778
|
const all = await listWorkspaces(project.name, project.workdir);
|
|
7776
7779
|
const workspacesList = all.filter((ws) => ws.path !== project.workdir);
|
|
7777
7780
|
res.json({ workspaces: workspacesList });
|
|
7778
7781
|
});
|
|
7779
7782
|
app.get("/api/sessions", async (req, res) => {
|
|
7780
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
7781
|
-
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-
|
|
7783
|
+
const { getRecentUserPromptsForSession } = await import("./events-UAUOGRSV.js");
|
|
7784
|
+
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-WOA6MTWQ.js");
|
|
7782
7785
|
const projectId = req.query["projectId"];
|
|
7783
7786
|
const rawLimit = req.query["limit"];
|
|
7784
7787
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -7860,7 +7863,7 @@ All file and git operations should use this branch.
|
|
|
7860
7863
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
7861
7864
|
const project = sessionManager.getProject(session.projectId);
|
|
7862
7865
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7863
|
-
const { isGitRepository } = await import("./workspace-
|
|
7866
|
+
const { isGitRepository } = await import("./workspace-ENN27P56.js");
|
|
7864
7867
|
if (!await isGitRepository(project.workdir)) {
|
|
7865
7868
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7866
7869
|
}
|
|
@@ -7878,7 +7881,7 @@ All file and git operations should use this branch.
|
|
|
7878
7881
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
7879
7882
|
const project = sessionManager.getProject(session.projectId);
|
|
7880
7883
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7881
|
-
const { isGitRepository } = await import("./workspace-
|
|
7884
|
+
const { isGitRepository } = await import("./workspace-ENN27P56.js");
|
|
7882
7885
|
if (!await isGitRepository(project.workdir)) {
|
|
7883
7886
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7884
7887
|
}
|
|
@@ -7896,10 +7899,10 @@ All file and git operations should use this branch.
|
|
|
7896
7899
|
}
|
|
7897
7900
|
});
|
|
7898
7901
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
7899
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-
|
|
7900
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
7901
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7902
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7902
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-UAUOGRSV.js");
|
|
7903
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-IHD244OU.js");
|
|
7904
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
|
|
7905
|
+
const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
|
|
7903
7906
|
const session = sessionManager.getSession(req.params.id);
|
|
7904
7907
|
if (!session) {
|
|
7905
7908
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -7927,9 +7930,9 @@ All file and git operations should use this branch.
|
|
|
7927
7930
|
});
|
|
7928
7931
|
app.get("/api/sessions/:id/status", async (req, res) => {
|
|
7929
7932
|
const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
|
|
7930
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7931
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-
|
|
7932
|
-
const { foldPendingConfirmations } = await import("./folding-
|
|
7933
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
|
|
7934
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-UAUOGRSV.js");
|
|
7935
|
+
const { foldPendingConfirmations } = await import("./folding-IHD244OU.js");
|
|
7933
7936
|
const sessionId = req.params["id"];
|
|
7934
7937
|
if (!sessionId) {
|
|
7935
7938
|
return res.status(400).json({ error: "Session id is required" });
|
|
@@ -7959,8 +7962,8 @@ All file and git operations should use this branch.
|
|
|
7959
7962
|
if (!session) {
|
|
7960
7963
|
return res.status(404).json({ error: "Session not found" });
|
|
7961
7964
|
}
|
|
7962
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7963
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7965
|
+
const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
|
|
7966
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
|
|
7964
7967
|
sessionManager.clearMessageQueue(sessionId);
|
|
7965
7968
|
stopSessionExecution(sessionId, sessionManager);
|
|
7966
7969
|
abortSession(sessionId);
|
|
@@ -7989,9 +7992,9 @@ All file and git operations should use this branch.
|
|
|
7989
7992
|
res.json({ success: true });
|
|
7990
7993
|
});
|
|
7991
7994
|
app.post("/api/sessions/:id/provider", async (req, res) => {
|
|
7992
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
7993
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
7994
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7995
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-UAUOGRSV.js");
|
|
7996
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
|
|
7997
|
+
const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
|
|
7995
7998
|
const sessionId = req.params.id;
|
|
7996
7999
|
const session = sessionManager.getSession(sessionId);
|
|
7997
8000
|
if (!session) {
|
|
@@ -8020,9 +8023,9 @@ All file and git operations should use this branch.
|
|
|
8020
8023
|
res.json({ session: toClientSession(updatedSession), messages, hiddenCount, contextState });
|
|
8021
8024
|
});
|
|
8022
8025
|
app.delete("/api/sessions/:id/provider", async (req, res) => {
|
|
8023
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
8024
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8025
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
8026
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-UAUOGRSV.js");
|
|
8027
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
|
|
8028
|
+
const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
|
|
8026
8029
|
const sessionId = req.params.id;
|
|
8027
8030
|
const session = sessionManager.getSession(sessionId);
|
|
8028
8031
|
if (!session) {
|
|
@@ -8076,7 +8079,7 @@ All file and git operations should use this branch.
|
|
|
8076
8079
|
if (!result.success) {
|
|
8077
8080
|
return res.status(500).json({ error: result.error ?? "Failed to set default model" });
|
|
8078
8081
|
}
|
|
8079
|
-
const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-
|
|
8082
|
+
const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-AJSENHBC.js");
|
|
8080
8083
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
8081
8084
|
const updatedConfig = setDefaultModelSelection(globalConfig, providerId, model);
|
|
8082
8085
|
await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
|
|
@@ -8154,9 +8157,9 @@ All file and git operations should use this branch.
|
|
|
8154
8157
|
res.json({ success: true });
|
|
8155
8158
|
});
|
|
8156
8159
|
app.put("/api/sessions/:id/mode", async (req, res) => {
|
|
8157
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
8158
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8159
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
8160
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-UAUOGRSV.js");
|
|
8161
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
|
|
8162
|
+
const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
|
|
8160
8163
|
const sessionId = req.params.id;
|
|
8161
8164
|
const session = sessionManager.getSession(sessionId);
|
|
8162
8165
|
if (!session) {
|
|
@@ -8192,7 +8195,7 @@ All file and git operations should use this branch.
|
|
|
8192
8195
|
}
|
|
8193
8196
|
sessionManager.setDangerLevel(sessionId, dangerLevel);
|
|
8194
8197
|
if (dangerLevel === "dangerous") {
|
|
8195
|
-
const { autoApprovePendingConfirmationsForSession } = await import("./tools-
|
|
8198
|
+
const { autoApprovePendingConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
|
|
8196
8199
|
const approvedCallIds = autoApprovePendingConfirmationsForSession(sessionId);
|
|
8197
8200
|
for (const callId of approvedCallIds) {
|
|
8198
8201
|
wssExports.broadcastForSession(sessionId, {
|
|
@@ -8227,7 +8230,7 @@ All file and git operations should use this branch.
|
|
|
8227
8230
|
setSessionDisabledServers(sessionId, disabledServers);
|
|
8228
8231
|
const messages = session.messages ?? [];
|
|
8229
8232
|
if (messages.length === 0) {
|
|
8230
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
8233
|
+
const { applyDynamicContext } = await import("./dynamic-context-3THEBFBI.js");
|
|
8231
8234
|
const modelName = session.providerModel ?? providerManager.getCurrentModel();
|
|
8232
8235
|
await applyDynamicContext(sessionManager, sessionId, modelName);
|
|
8233
8236
|
} else {
|
|
@@ -8261,7 +8264,7 @@ All file and git operations should use this branch.
|
|
|
8261
8264
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
8262
8265
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
8263
8266
|
}
|
|
8264
|
-
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-
|
|
8267
|
+
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-CECV6XQ6.js");
|
|
8265
8268
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
8266
8269
|
if (!pendingSessionId) {
|
|
8267
8270
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -8273,11 +8276,11 @@ All file and git operations should use this branch.
|
|
|
8273
8276
|
if (!result.found) {
|
|
8274
8277
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
8275
8278
|
}
|
|
8276
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-
|
|
8277
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
8279
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-UAUOGRSV.js");
|
|
8280
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-IHD244OU.js");
|
|
8278
8281
|
const { createSessionStateMessage } = await import("./protocol-MRMOB3P4.js");
|
|
8279
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
8280
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
8282
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CECV6XQ6.js");
|
|
8283
|
+
const { getMaxVisibleItems } = await import("./settings-TR4BF2C4.js");
|
|
8281
8284
|
const eventStore = getEventStore2();
|
|
8282
8285
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
8283
8286
|
const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
|
|
@@ -8314,7 +8317,7 @@ All file and git operations should use this branch.
|
|
|
8314
8317
|
if (!skip && typeof answer !== "string") {
|
|
8315
8318
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
8316
8319
|
}
|
|
8317
|
-
const { provideAnswer: provideAnswer2 } = await import("./tools-
|
|
8320
|
+
const { provideAnswer: provideAnswer2 } = await import("./tools-CECV6XQ6.js");
|
|
8318
8321
|
const found = provideAnswer2(callId, answer ?? "", skip ?? false);
|
|
8319
8322
|
if (!found) {
|
|
8320
8323
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -8347,7 +8350,7 @@ All file and git operations should use this branch.
|
|
|
8347
8350
|
if (!session) {
|
|
8348
8351
|
return res.status(404).json({ error: "Session not found" });
|
|
8349
8352
|
}
|
|
8350
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8353
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
|
|
8351
8354
|
if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
|
|
8352
8355
|
return res.json({ success: false, reason: "disabled" });
|
|
8353
8356
|
}
|
|
@@ -8380,7 +8383,7 @@ All file and git operations should use this branch.
|
|
|
8380
8383
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
8381
8384
|
model: llmClient.getModel()
|
|
8382
8385
|
};
|
|
8383
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
8386
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-BU4RJHPZ.js");
|
|
8384
8387
|
runAgentTurn(
|
|
8385
8388
|
{
|
|
8386
8389
|
sessionManager,
|
|
@@ -8418,15 +8421,15 @@ All file and git operations should use this branch.
|
|
|
8418
8421
|
if (!session) {
|
|
8419
8422
|
return res.status(404).json({ error: "Session not found" });
|
|
8420
8423
|
}
|
|
8421
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
8422
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
8424
|
+
const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
|
|
8425
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
|
|
8423
8426
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
8424
8427
|
sessionManager.clearMessageQueue(sessionId);
|
|
8425
8428
|
stopSessionExecution(sessionId, sessionManager);
|
|
8426
8429
|
abortSession(sessionId);
|
|
8427
8430
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
8428
8431
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
8429
|
-
const eventStore = (await import("./events-
|
|
8432
|
+
const eventStore = (await import("./events-UAUOGRSV.js")).getEventStore();
|
|
8430
8433
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
8431
8434
|
res.json({ success: true, queuedMessages });
|
|
8432
8435
|
});
|
|
@@ -8467,7 +8470,7 @@ All file and git operations should use this branch.
|
|
|
8467
8470
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
8468
8471
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
8469
8472
|
}
|
|
8470
|
-
const { truncateSessionMessages } = await import("./events-
|
|
8473
|
+
const { truncateSessionMessages } = await import("./events-UAUOGRSV.js");
|
|
8471
8474
|
truncateSessionMessages(sessionId, messageIndex);
|
|
8472
8475
|
res.json({ success: true });
|
|
8473
8476
|
});
|
|
@@ -8487,8 +8490,8 @@ All file and git operations should use this branch.
|
|
|
8487
8490
|
if (attachments !== void 0 && !Array.isArray(attachments)) {
|
|
8488
8491
|
return res.status(400).json({ error: "attachments must be an array if provided" });
|
|
8489
8492
|
}
|
|
8490
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
8491
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8493
|
+
const { getEventStore: getEventStore2 } = await import("./events-UAUOGRSV.js");
|
|
8494
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-IHD244OU.js");
|
|
8492
8495
|
const eventStore = getEventStore2();
|
|
8493
8496
|
const events = eventStore.getEvents(sessionId);
|
|
8494
8497
|
const { messages } = buildMessagesFromStoredEvents2(events);
|
|
@@ -8500,7 +8503,7 @@ All file and git operations should use this branch.
|
|
|
8500
8503
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
8501
8504
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
8502
8505
|
}
|
|
8503
|
-
const { truncateSessionMessages } = await import("./events-
|
|
8506
|
+
const { truncateSessionMessages } = await import("./events-UAUOGRSV.js");
|
|
8504
8507
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
8505
8508
|
sessionManager.queueMessage(
|
|
8506
8509
|
sessionId,
|
|
@@ -8542,7 +8545,7 @@ All file and git operations should use this branch.
|
|
|
8542
8545
|
return res.status(404).json({ error: "Session not found" });
|
|
8543
8546
|
}
|
|
8544
8547
|
try {
|
|
8545
|
-
const { buildSessionExport } = await import("./export-import-
|
|
8548
|
+
const { buildSessionExport } = await import("./export-import-SYYISNTZ.js");
|
|
8546
8549
|
const payload = buildSessionExport(sessionManager, sessionId);
|
|
8547
8550
|
const filename = `${(payload.session.title ?? "session").replace(/[^a-zA-Z0-9-_]/g, "_")}.openfox-session.json`;
|
|
8548
8551
|
res.setHeader("Content-Disposition", `attachment; filename="${filename}"`);
|
|
@@ -8599,7 +8602,7 @@ All file and git operations should use this branch.
|
|
|
8599
8602
|
res.json({ accepted: true });
|
|
8600
8603
|
});
|
|
8601
8604
|
app.get("/api/settings", async (req, res) => {
|
|
8602
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8605
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TR4BF2C4.js");
|
|
8603
8606
|
const keysParam = req.query["keys"];
|
|
8604
8607
|
if (!keysParam) {
|
|
8605
8608
|
return res.status(400).json({ error: "keys query parameter is required" });
|
|
@@ -8612,19 +8615,19 @@ All file and git operations should use this branch.
|
|
|
8612
8615
|
res.json(result);
|
|
8613
8616
|
});
|
|
8614
8617
|
app.get("/api/settings/:key", async (req, res) => {
|
|
8615
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8618
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TR4BF2C4.js");
|
|
8616
8619
|
const key = req.params.key;
|
|
8617
8620
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
8618
8621
|
res.json({ key, value });
|
|
8619
8622
|
});
|
|
8620
8623
|
app.get("/api/settings/:key", async (req, res) => {
|
|
8621
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8624
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-TR4BF2C4.js");
|
|
8622
8625
|
const key = req.params.key;
|
|
8623
8626
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
8624
8627
|
res.json({ key, value });
|
|
8625
8628
|
});
|
|
8626
8629
|
app.put("/api/settings/:key", async (req, res) => {
|
|
8627
|
-
const { setSetting: setSetting2 } = await import("./settings-
|
|
8630
|
+
const { setSetting: setSetting2 } = await import("./settings-TR4BF2C4.js");
|
|
8628
8631
|
const key = req.params.key;
|
|
8629
8632
|
const { value } = req.body;
|
|
8630
8633
|
if (value === void 0) {
|
|
@@ -8651,7 +8654,7 @@ All file and git operations should use this branch.
|
|
|
8651
8654
|
}
|
|
8652
8655
|
});
|
|
8653
8656
|
app.get("/api/tools/shells", async (_req, res) => {
|
|
8654
|
-
const { listAvailableShells } = await import("./platform-
|
|
8657
|
+
const { listAvailableShells } = await import("./platform-EAZNZDAE.js");
|
|
8655
8658
|
res.json({ shells: listAvailableShells() });
|
|
8656
8659
|
});
|
|
8657
8660
|
app.get("/api/config", async (_req, res) => {
|
|
@@ -8660,7 +8663,7 @@ All file and git operations should use this branch.
|
|
|
8660
8663
|
let visionFallback;
|
|
8661
8664
|
let globalWorkdir;
|
|
8662
8665
|
try {
|
|
8663
|
-
const { loadGlobalConfig, getVisionFallback } = await import("./config-
|
|
8666
|
+
const { loadGlobalConfig, getVisionFallback } = await import("./config-AJSENHBC.js");
|
|
8664
8667
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
8665
8668
|
const fallback = getVisionFallback(globalConfig);
|
|
8666
8669
|
if (fallback) {
|
|
@@ -8689,7 +8692,7 @@ All file and git operations should use this branch.
|
|
|
8689
8692
|
defaultModelSelection: config3.defaultModelSelection,
|
|
8690
8693
|
visionFallback,
|
|
8691
8694
|
platform: platformInfo,
|
|
8692
|
-
locale: (await import("./settings-
|
|
8695
|
+
locale: (await import("./settings-TR4BF2C4.js")).getSetting("display.locale") ?? "automatic"
|
|
8693
8696
|
});
|
|
8694
8697
|
});
|
|
8695
8698
|
app.post("/api/model/refresh", async (_req, res) => {
|
|
@@ -8745,7 +8748,7 @@ All file and git operations should use this branch.
|
|
|
8745
8748
|
}));
|
|
8746
8749
|
}
|
|
8747
8750
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
8748
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8751
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
|
|
8749
8752
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
8750
8753
|
if (!proxyUrl) {
|
|
8751
8754
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -8837,7 +8840,7 @@ All file and git operations should use this branch.
|
|
|
8837
8840
|
}
|
|
8838
8841
|
});
|
|
8839
8842
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
8840
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8843
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
|
|
8841
8844
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
8842
8845
|
if (!proxyUrl) {
|
|
8843
8846
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -8864,7 +8867,7 @@ All file and git operations should use this branch.
|
|
|
8864
8867
|
const backend = req.query["backend"];
|
|
8865
8868
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
8866
8869
|
try {
|
|
8867
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
8870
|
+
const { fetchModelsWithContext } = await import("./provider-manager-2UENHAAA.js");
|
|
8868
8871
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8869
8872
|
const { getCatalogEntry } = await import("./model-catalog-Y5MA5OZP.js");
|
|
8870
8873
|
const models = await fetchModelsWithContext(
|
|
@@ -8937,9 +8940,9 @@ All file and git operations should use this branch.
|
|
|
8937
8940
|
return res.json({ success: true, message: { content: response2.content }, raw: response2 });
|
|
8938
8941
|
}
|
|
8939
8942
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8940
|
-
const { getBackendCapabilities } = await import("./backend-
|
|
8943
|
+
const { getBackendCapabilities } = await import("./backend-2VSDPCWS.js");
|
|
8941
8944
|
const { buildNonStreamingCreateParams } = await import("./client-pure-YZ4IGCU4.js");
|
|
8942
|
-
const { OpenAIHttpClient } = await import("./http-client-
|
|
8945
|
+
const { OpenAIHttpClient } = await import("./http-client-RA7XFYPO.js");
|
|
8943
8946
|
const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
|
|
8944
8947
|
const profile = getModelProfile2(model);
|
|
8945
8948
|
const capabilities = getBackendCapabilities(backend || "unknown");
|
|
@@ -9010,7 +9013,7 @@ All file and git operations should use this branch.
|
|
|
9010
9013
|
return res.status(400).json({ error: "name, url, and backend are required" });
|
|
9011
9014
|
}
|
|
9012
9015
|
try {
|
|
9013
|
-
const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-
|
|
9016
|
+
const { loadGlobalConfig, saveGlobalConfig, addProvider, setDefaultModelSelection } = await import("./config-AJSENHBC.js");
|
|
9014
9017
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9015
9018
|
const providerBackend = backend === "unknown" ? detectBackendFromUrl(url) ?? "unknown" : backend;
|
|
9016
9019
|
const providerModels = modelConfigs?.length ? buildModelConfigs(modelConfigs) : model ? [{ id: model, contextWindow: 2e5, source: "user" }] : [];
|
|
@@ -9051,7 +9054,7 @@ All file and git operations should use this branch.
|
|
|
9051
9054
|
app.post("/api/init/config", async (req, res) => {
|
|
9052
9055
|
const { workdir, visionFallback } = req.body;
|
|
9053
9056
|
try {
|
|
9054
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
9057
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9055
9058
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9056
9059
|
const updatedVf = visionFallback ? { ...globalConfig.visionFallback, ...visionFallback } : globalConfig.visionFallback;
|
|
9057
9060
|
const updatedConfig = {
|
|
@@ -9086,7 +9089,7 @@ All file and git operations should use this branch.
|
|
|
9086
9089
|
}
|
|
9087
9090
|
const updates = parsed.data;
|
|
9088
9091
|
try {
|
|
9089
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
9092
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9090
9093
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9091
9094
|
const filteredUpdates = Object.fromEntries(Object.entries(updates).filter(([, v]) => v !== void 0));
|
|
9092
9095
|
const updatedConfig = {
|
|
@@ -9128,8 +9131,8 @@ All file and git operations should use this branch.
|
|
|
9128
9131
|
}
|
|
9129
9132
|
const testConfig = parsed.data;
|
|
9130
9133
|
try {
|
|
9131
|
-
const { resolveVisionFallback } = await import("./config-
|
|
9132
|
-
const { loadGlobalConfig } = await import("./config-
|
|
9134
|
+
const { resolveVisionFallback } = await import("./config-AJSENHBC.js");
|
|
9135
|
+
const { loadGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9133
9136
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9134
9137
|
const filteredTestConfig = Object.fromEntries(Object.entries(testConfig).filter(([, v]) => v !== void 0));
|
|
9135
9138
|
const testVisionFallback = {
|
|
@@ -9184,7 +9187,7 @@ All file and git operations should use this branch.
|
|
|
9184
9187
|
return res.status(400).json({ error: "providerIds must be a non-empty array" });
|
|
9185
9188
|
}
|
|
9186
9189
|
try {
|
|
9187
|
-
const { loadGlobalConfig, saveGlobalConfig, reorderProviders } = await import("./config-
|
|
9190
|
+
const { loadGlobalConfig, saveGlobalConfig, reorderProviders } = await import("./config-AJSENHBC.js");
|
|
9188
9191
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9189
9192
|
let updatedConfig;
|
|
9190
9193
|
try {
|
|
@@ -9206,7 +9209,7 @@ All file and git operations should use this branch.
|
|
|
9206
9209
|
});
|
|
9207
9210
|
app.delete("/api/providers/:id", async (req, res) => {
|
|
9208
9211
|
const { id } = req.params;
|
|
9209
|
-
const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-
|
|
9212
|
+
const { loadGlobalConfig, saveGlobalConfig, removeProvider } = await import("./config-AJSENHBC.js");
|
|
9210
9213
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9211
9214
|
const updatedConfig = removeProvider(globalConfig, id);
|
|
9212
9215
|
await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
|
|
@@ -9216,7 +9219,7 @@ All file and git operations should use this branch.
|
|
|
9216
9219
|
if (clearedSessions > 0) {
|
|
9217
9220
|
logger.info("Cleared provider from sessions of deleted provider", { providerId: id, sessions: clearedSessions });
|
|
9218
9221
|
}
|
|
9219
|
-
const { pruneFavoriteModels } = await import("./settings-
|
|
9222
|
+
const { pruneFavoriteModels } = await import("./settings-TR4BF2C4.js");
|
|
9220
9223
|
pruneFavoriteModels(updatedConfig.providers);
|
|
9221
9224
|
res.json({ success: true });
|
|
9222
9225
|
});
|
|
@@ -9224,7 +9227,7 @@ All file and git operations should use this branch.
|
|
|
9224
9227
|
const { id } = req.params;
|
|
9225
9228
|
const { isLocal } = req.body;
|
|
9226
9229
|
try {
|
|
9227
|
-
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-
|
|
9230
|
+
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
|
|
9228
9231
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9229
9232
|
const provider = globalConfig.providers.find((p) => p.id === id);
|
|
9230
9233
|
if (!provider) {
|
|
@@ -9256,7 +9259,7 @@ All file and git operations should use this branch.
|
|
|
9256
9259
|
transportAdapter
|
|
9257
9260
|
} = req.body;
|
|
9258
9261
|
try {
|
|
9259
|
-
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-
|
|
9262
|
+
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
|
|
9260
9263
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9261
9264
|
const provider = globalConfig.providers.find((p) => p.id === id);
|
|
9262
9265
|
if (!provider) {
|
|
@@ -9279,7 +9282,7 @@ All file and git operations should use this branch.
|
|
|
9279
9282
|
await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
|
|
9280
9283
|
providerManager.setProviders(updatedConfig.providers, updatedConfig.defaultModelSelection ?? void 0);
|
|
9281
9284
|
config3.defaultModelSelection = updatedConfig.defaultModelSelection;
|
|
9282
|
-
const { pruneFavoriteModels } = await import("./settings-
|
|
9285
|
+
const { pruneFavoriteModels } = await import("./settings-TR4BF2C4.js");
|
|
9283
9286
|
pruneFavoriteModels(updatedConfig.providers);
|
|
9284
9287
|
res.json({ success: true, provider: updatedConfig.providers.find((p) => p.id === id) });
|
|
9285
9288
|
} catch (error) {
|
|
@@ -9298,7 +9301,7 @@ All file and git operations should use this branch.
|
|
|
9298
9301
|
return res.status(400).json({ error: "thinkingEnabled must be a boolean" });
|
|
9299
9302
|
}
|
|
9300
9303
|
try {
|
|
9301
|
-
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-
|
|
9304
|
+
const { loadGlobalConfig, saveGlobalConfig, updateProvider } = await import("./config-AJSENHBC.js");
|
|
9302
9305
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9303
9306
|
const provider = globalConfig.providers.find((p) => p.id === id);
|
|
9304
9307
|
if (!provider) {
|
|
@@ -9338,7 +9341,7 @@ All file and git operations should use this branch.
|
|
|
9338
9341
|
return res.status(400).json({ error: result.error });
|
|
9339
9342
|
}
|
|
9340
9343
|
const llmClient = getLLMClient();
|
|
9341
|
-
const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-
|
|
9344
|
+
const { loadGlobalConfig, saveGlobalConfig, setDefaultModelSelection } = await import("./config-AJSENHBC.js");
|
|
9342
9345
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9343
9346
|
const updatedConfig = setDefaultModelSelection(globalConfig, id, llmClient.getModel());
|
|
9344
9347
|
await saveGlobalConfig(config3.mode ?? "production", updatedConfig, config3.globalConfigPath);
|
|
@@ -9365,7 +9368,7 @@ All file and git operations should use this branch.
|
|
|
9365
9368
|
});
|
|
9366
9369
|
async function rebuildMcpTools() {
|
|
9367
9370
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-ZY4FC4C4.js");
|
|
9368
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
9371
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-CECV6XQ6.js");
|
|
9369
9372
|
const mcpTools = createMcpTools2(mcpManager);
|
|
9370
9373
|
setMcpTools2(mcpTools);
|
|
9371
9374
|
toolRegistry = createToolRegistry();
|
|
@@ -9440,7 +9443,7 @@ All file and git operations should use this branch.
|
|
|
9440
9443
|
};
|
|
9441
9444
|
await mcpManager.addServer(name, serverCfg);
|
|
9442
9445
|
const server = mcpManager.getServer(name);
|
|
9443
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
9446
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9444
9447
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9445
9448
|
const updatedMcpServers = { ...globalConfig.mcpServers ?? {}, [name]: serverCfg };
|
|
9446
9449
|
await saveGlobalConfig(
|
|
@@ -9505,7 +9508,7 @@ All file and git operations should use this branch.
|
|
|
9505
9508
|
return res.status(400).json({ error: "oauth must be a boolean" });
|
|
9506
9509
|
}
|
|
9507
9510
|
try {
|
|
9508
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
9511
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9509
9512
|
const { applyMcpServerUpdate } = await import("./update-server-SVPV6ZJZ.js");
|
|
9510
9513
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9511
9514
|
const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
|
|
@@ -9558,7 +9561,7 @@ All file and git operations should use this branch.
|
|
|
9558
9561
|
mcpManager.removeServer(name);
|
|
9559
9562
|
const { clearMcpOAuthEntry } = await import("./oauth-store-KECHUT54.js");
|
|
9560
9563
|
await clearMcpOAuthEntry(name);
|
|
9561
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
9564
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9562
9565
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9563
9566
|
const updatedMcpServers = { ...globalConfig.mcpServers ?? {} };
|
|
9564
9567
|
delete updatedMcpServers[name];
|
|
@@ -9735,7 +9738,7 @@ All file and git operations should use this branch.
|
|
|
9735
9738
|
await mcpManager.setToolEnabled(name, toolName, enabled);
|
|
9736
9739
|
const server = mcpManager.getServer(name);
|
|
9737
9740
|
if (server) {
|
|
9738
|
-
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-
|
|
9741
|
+
const { loadGlobalConfig, saveGlobalConfig } = await import("./config-AJSENHBC.js");
|
|
9739
9742
|
const globalConfig = await loadGlobalConfig(config3.mode ?? "production", config3.globalConfigPath);
|
|
9740
9743
|
const mcpServers2 = { ...globalConfig.mcpServers ?? {} };
|
|
9741
9744
|
const serverCfg = mcpServers2[name];
|
|
@@ -9768,7 +9771,7 @@ All file and git operations should use this branch.
|
|
|
9768
9771
|
res.status(400).json({ error: error instanceof Error ? error.message : String(error) });
|
|
9769
9772
|
}
|
|
9770
9773
|
});
|
|
9771
|
-
const { listProjects } = await import("./projects-
|
|
9774
|
+
const { listProjects } = await import("./projects-VDWCFPVE.js");
|
|
9772
9775
|
const allProjects = listProjects();
|
|
9773
9776
|
const projectDir = allProjects.find(
|
|
9774
9777
|
(p) => p.workdir === config3.workdir || config3.workdir && p.workdir.startsWith(config3.workdir + "/")
|
|
@@ -9795,13 +9798,13 @@ All file and git operations should use this branch.
|
|
|
9795
9798
|
})
|
|
9796
9799
|
);
|
|
9797
9800
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
9798
|
-
const { getSessionProcesses } = await import("./manager-
|
|
9801
|
+
const { getSessionProcesses } = await import("./manager-4SMHCFXY.js");
|
|
9799
9802
|
const sessionId = req.params.id;
|
|
9800
9803
|
const processes = getSessionProcesses(sessionId);
|
|
9801
9804
|
res.json({ processes });
|
|
9802
9805
|
});
|
|
9803
9806
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
9804
|
-
const { stopProcess } = await import("./manager-
|
|
9807
|
+
const { stopProcess } = await import("./manager-4SMHCFXY.js");
|
|
9805
9808
|
const sessionId = req.params.id;
|
|
9806
9809
|
const processId = req.params.processId;
|
|
9807
9810
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -9941,7 +9944,7 @@ All file and git operations should use this branch.
|
|
|
9941
9944
|
);
|
|
9942
9945
|
const wss = wssExports.wss;
|
|
9943
9946
|
deferTasksBroadcast = (_projectId, payload) => wssExports.broadcastAll({ type: "tasks.update", payload });
|
|
9944
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
9947
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-MF2VT7SU.js");
|
|
9945
9948
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
9946
9949
|
const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
|
|
9947
9950
|
let llmClient = getLLMClient();
|
|
@@ -9986,7 +9989,7 @@ All file and git operations should use this branch.
|
|
|
9986
9989
|
const state = sessionManager.getContextState(sessionId);
|
|
9987
9990
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
9988
9991
|
});
|
|
9989
|
-
const { QueueProcessor } = await import("./processor-
|
|
9992
|
+
const { QueueProcessor } = await import("./processor-IZ4EAHPD.js");
|
|
9990
9993
|
const queueProcessor = new QueueProcessor({
|
|
9991
9994
|
sessionManager,
|
|
9992
9995
|
providerManager,
|
|
@@ -10011,7 +10014,7 @@ All file and git operations should use this branch.
|
|
|
10011
10014
|
sessionManager,
|
|
10012
10015
|
listProjects: () => listProjects(),
|
|
10013
10016
|
createProject: async (name, workdir) => {
|
|
10014
|
-
const { createProjectDirectory } = await import("./project-creator-
|
|
10017
|
+
const { createProjectDirectory } = await import("./project-creator-K5EGKY2P.js");
|
|
10015
10018
|
return createProjectDirectory(name, workdir);
|
|
10016
10019
|
},
|
|
10017
10020
|
deleteProject: (projectId) => {
|
|
@@ -10028,8 +10031,8 @@ All file and git operations should use this branch.
|
|
|
10028
10031
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
|
|
10029
10032
|
stopSession: (sessionId) => {
|
|
10030
10033
|
void (async () => {
|
|
10031
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
10032
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
10034
|
+
const { stopSessionExecution } = await import("./chat-handler-VDB4CSXK.js");
|
|
10035
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CECV6XQ6.js");
|
|
10033
10036
|
sessionManager.clearMessageQueue(sessionId);
|
|
10034
10037
|
stopSessionExecution(sessionId, sessionManager);
|
|
10035
10038
|
abortSession(sessionId);
|
|
@@ -10113,7 +10116,8 @@ All file and git operations should use this branch.
|
|
|
10113
10116
|
void (async () => {
|
|
10114
10117
|
await devServerManager.stopAll();
|
|
10115
10118
|
await mcpManager.disconnectAll();
|
|
10116
|
-
|
|
10119
|
+
taskScheduler.stop();
|
|
10120
|
+
const { stopAllInspectProxies } = await import("./inspect-proxy-24Q2CNCZ.js");
|
|
10117
10121
|
stopAllInspectProxies();
|
|
10118
10122
|
const { cleanupAllProcesses } = await import("./store-JYPZ2RXB.js");
|
|
10119
10123
|
cleanupAllProcesses();
|
|
@@ -10155,4 +10159,4 @@ export {
|
|
|
10155
10159
|
createServerHandle,
|
|
10156
10160
|
createServer
|
|
10157
10161
|
};
|
|
10158
|
-
//# sourceMappingURL=chunk-
|
|
10162
|
+
//# sourceMappingURL=chunk-IMQDO5EJ.js.map
|