openfox 2.0.130 → 2.0.131
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 +12 -0
- package/dist/CHANGELOG.md +12 -0
- package/dist/{chat-handler-4WCKNCQV.js → chat-handler-RAIMQU7F.js} +24 -24
- package/dist/{chunk-KHKRHGA6.js → chunk-55DGZIZ6.js} +4 -4
- package/dist/{chunk-X24XN2M2.js → chunk-5AI3LHRQ.js} +19 -19
- package/dist/{chunk-OXMOKQPW.js → chunk-6EZDW4JS.js} +2 -2
- package/dist/{chunk-DI5GTIAU.js → chunk-6MUSEPV7.js} +125 -111
- package/dist/{chunk-35GQEIH2.js → chunk-6SUBBT2M.js} +7 -7
- package/dist/{chunk-CGCEAKG5.js → chunk-7JVBDBXE.js} +2 -2
- package/dist/{chunk-DYIDDGMN.js → chunk-7LGMQ5KS.js} +16 -16
- package/dist/{chunk-64N4CZFT.js → chunk-BKMWZTNO.js} +3 -3
- package/dist/chunk-BMBOSVRM.js +7 -0
- package/dist/{chunk-3B232XG4.js → chunk-DPFET73G.js} +2 -2
- package/dist/{chunk-JHA2SPCU.js → chunk-ELYHHEYL.js} +3 -3
- package/dist/{chunk-AYCB32NI.js → chunk-FGNJMKDV.js} +5 -5
- package/dist/{chunk-OYBUJIC3.js → chunk-JU757HVI.js} +5 -1
- package/dist/{chunk-X3FHIDLT.js → chunk-KWAHD2JA.js} +13 -8
- package/dist/{chunk-3DZSHRXE.js → chunk-LQKXJPKP.js} +2 -2
- package/dist/{chunk-EHFIUXWZ.js → chunk-LW6MMSTD.js} +2 -2
- package/dist/{chunk-JKRMMNUR.js → chunk-M5T4RDPJ.js} +2 -2
- package/dist/{chunk-6QZVAOSA.js → chunk-MGEYAYGU.js} +2 -2
- package/dist/{chunk-DQTXXHD2.js → chunk-MQMPIXON.js} +3 -3
- package/dist/{chunk-DHDIKVRT.js → chunk-QJG5K3X2.js} +2 -2
- package/dist/{chunk-2OMXXCJJ.js → chunk-RQPHGBWI.js} +8 -8
- package/dist/{chunk-25DAVVTP.js → chunk-SVALN5KE.js} +44 -45
- package/dist/{chunk-ZRCRGPGT.js → chunk-TACWRDDC.js} +3 -3
- package/dist/{chunk-EVVWDRM5.js → chunk-WCM5ZW5N.js} +18 -12
- package/dist/{chunk-Y3BSBKHY.js → chunk-XE6UC5Z3.js} +2 -2
- package/dist/{chunk-VJNA5AOB.js → chunk-Y6ZGHOKM.js} +3 -3
- package/dist/{chunk-JSONBGSY.js → chunk-ZCFQOC3C.js} +4 -4
- package/dist/{chunk-VUIXQ6X4.js → chunk-ZL4IAFF3.js} +3 -3
- package/dist/{chunk-CYQUM42E.js → chunk-ZVHUISW7.js} +2 -2
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-26RSMUAX.js → client-E6QLHPHD.js} +5 -5
- package/dist/{compactor-HYBSSFKP.js → compactor-OEJAA2YP.js} +11 -11
- package/dist/{dynamic-context-2VLACYK4.js → dynamic-context-Y555VDLA.js} +14 -12
- package/dist/{events-D33QXGSX.js → events-ZJPRGVL2.js} +8 -8
- package/dist/{folding-QOKBKUU6.js → folding-QRZOHY2I.js} +6 -6
- package/dist/http-client-P4XTKAZA.js +11 -0
- package/dist/{inspect-proxy-UKPU3Z64.js → inspect-proxy-A3OROWPG.js} +4 -4
- package/dist/{launch-KFENN5GS.js → launch-Y4H7FDU2.js} +24 -24
- package/dist/{manager-VRHX7BVI.js → manager-TMBFBCQL.js} +5 -5
- package/dist/{orchestrator-PLTAEOMR.js → orchestrator-SQN2SJ2A.js} +23 -23
- package/dist/package.json +1 -1
- package/dist/{path-security-4WQJGU3Z.js → path-security-CBACXAMS.js} +10 -10
- package/dist/{platform-MWWJ6OKV.js → platform-5LQXOZO3.js} +4 -4
- package/dist/{processor-K4WHZKE6.js → processor-MEHODYNE.js} +23 -23
- package/dist/{project-creator-JF3YVQAH.js → project-creator-6AGQTNXB.js} +3 -3
- package/dist/{projects-TPSLCJP2.js → projects-5U37RUTL.js} +3 -3
- package/dist/{provider-CVM33XHW.js → provider-6YRII4IV.js} +6 -6
- package/dist/{provider-manager-7NL5EQLG.js → provider-manager-URNJBK5Q.js} +6 -6
- package/dist/{registry-KFFZFIZT.js → registry-CMSSZHDC.js} +5 -5
- package/dist/{serve-KQAPXO5X.js → serve-NPADSJG7.js} +29 -29
- package/dist/server/index.d.ts +10 -1
- package/dist/server/index.js +28 -28
- package/dist/server-5TY22HDN.js +56 -0
- package/dist/{service-7TLOSFAO.js → service-VPXGREXF.js} +8 -8
- package/dist/{session-overrides-U573CU2V.js → session-overrides-OECQYRDK.js} +7 -7
- package/dist/{sessions-LUVWWRFO.js → sessions-NMPX5ICI.js} +6 -6
- package/dist/{settings-LMAMF2X7.js → settings-MDCRNQBY.js} +3 -3
- package/dist/{tasks-FA6Z52H2.js → tasks-MNPXK2S5.js} +8 -8
- package/dist/{tools-SSPC3UQZ.js → tools-6BDT5YMT.js} +21 -21
- package/dist/{update-QRGK67DB.js → update-XKCOBE47.js} +2 -2
- package/dist/web/assets/{index-0PVQNOfW.js → index-Bx5r3aJx.js} +70 -70
- package/dist/web/assets/{index-Ds94aclE.css → index-Y300llHY.css} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-6CUE26YA.js → workspace-LM646OHC.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-3OBZ55SX.js +0 -7
- package/dist/http-client-MGAJTGPR.js +0 -11
- package/dist/server-RPKVKMDD.js +0 -56
|
@@ -24,10 +24,10 @@ import {
|
|
|
24
24
|
terminalManager,
|
|
25
25
|
tokenFromPassword,
|
|
26
26
|
verifyPassword
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-7LGMQ5KS.js";
|
|
28
28
|
import {
|
|
29
29
|
TEMPLATE_VARIABLES
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-RQPHGBWI.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-5AI3LHRQ.js";
|
|
46
46
|
import {
|
|
47
47
|
checkoutBranchFromSharedSource,
|
|
48
48
|
deleteWorkspace,
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
validateRef,
|
|
60
60
|
validateWorkspaceName,
|
|
61
61
|
workspaceExists
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-XE6UC5Z3.js";
|
|
63
63
|
import {
|
|
64
64
|
commandExists,
|
|
65
65
|
deleteCommand,
|
|
@@ -87,11 +87,11 @@ import {
|
|
|
87
87
|
saveWorkflow,
|
|
88
88
|
saveWorkflowToProject,
|
|
89
89
|
workflowExists
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-ZCFQOC3C.js";
|
|
91
91
|
import {
|
|
92
92
|
getSessionDisabledServers,
|
|
93
93
|
setSessionDisabledServers
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-TACWRDDC.js";
|
|
95
95
|
import {
|
|
96
96
|
createMcpTools
|
|
97
97
|
} from "./chunk-JE7LW7Y6.js";
|
|
@@ -113,12 +113,12 @@ import {
|
|
|
113
113
|
setSkillEnabled,
|
|
114
114
|
skillExists,
|
|
115
115
|
updateOwnedSkill
|
|
116
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-BKMWZTNO.js";
|
|
117
117
|
import {
|
|
118
118
|
ALWAYS_ALLOWED,
|
|
119
119
|
ALWAYS_ALLOWED_FOR_SUBAGENTS,
|
|
120
120
|
TOP_LEVEL_ONLY_TOOLS
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-7JVBDBXE.js";
|
|
122
122
|
import {
|
|
123
123
|
EventEmitter,
|
|
124
124
|
getPendingQuestionsForSession,
|
|
@@ -127,7 +127,7 @@ import {
|
|
|
127
127
|
import {
|
|
128
128
|
getPendingConfirmationsBySession,
|
|
129
129
|
providePathConfirmation
|
|
130
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-Y6ZGHOKM.js";
|
|
131
131
|
import {
|
|
132
132
|
combineEventsWithSnapshot,
|
|
133
133
|
emitAssistantMessageStart,
|
|
@@ -145,10 +145,10 @@ import {
|
|
|
145
145
|
getEventStore,
|
|
146
146
|
getSessionState,
|
|
147
147
|
initEventStore
|
|
148
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-FGNJMKDV.js";
|
|
149
149
|
import {
|
|
150
150
|
buildMessagesFromStoredEvents
|
|
151
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-M5T4RDPJ.js";
|
|
152
152
|
import {
|
|
153
153
|
clearWorkflowExecution,
|
|
154
154
|
createSession,
|
|
@@ -174,7 +174,7 @@ import {
|
|
|
174
174
|
updateSessionRunning,
|
|
175
175
|
updateSessionWorkdir,
|
|
176
176
|
updateWorkflowExecutionStatus
|
|
177
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-KWAHD2JA.js";
|
|
178
178
|
import {
|
|
179
179
|
agentExists,
|
|
180
180
|
deleteAgent,
|
|
@@ -191,7 +191,7 @@ import {
|
|
|
191
191
|
saveAgent,
|
|
192
192
|
saveAgentToProject,
|
|
193
193
|
setRuntimeConfig
|
|
194
|
-
} from "./chunk-
|
|
194
|
+
} from "./chunk-ELYHHEYL.js";
|
|
195
195
|
import {
|
|
196
196
|
findFileByInternalId,
|
|
197
197
|
pathExists
|
|
@@ -203,25 +203,25 @@ import {
|
|
|
203
203
|
import {
|
|
204
204
|
getPathSeparator,
|
|
205
205
|
isAbsolutePath
|
|
206
|
-
} from "./chunk-
|
|
206
|
+
} from "./chunk-MGEYAYGU.js";
|
|
207
207
|
import {
|
|
208
208
|
createProviderManager,
|
|
209
209
|
detectModel,
|
|
210
210
|
getLlmStatus,
|
|
211
211
|
parseDefaultModelSelection
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-ZVHUISW7.js";
|
|
213
213
|
import {
|
|
214
214
|
buildOpenFoxMcpBootstrap
|
|
215
215
|
} from "./chunk-YNMP647F.js";
|
|
216
216
|
import {
|
|
217
217
|
VERSION
|
|
218
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-BMBOSVRM.js";
|
|
219
219
|
import {
|
|
220
220
|
deleteProject,
|
|
221
221
|
getProject,
|
|
222
222
|
getProjectByWorkdir,
|
|
223
223
|
updateProject
|
|
224
|
-
} from "./chunk-
|
|
224
|
+
} from "./chunk-DPFET73G.js";
|
|
225
225
|
import {
|
|
226
226
|
getModelProfile
|
|
227
227
|
} from "./chunk-TS5WKTFB.js";
|
|
@@ -235,15 +235,15 @@ import {
|
|
|
235
235
|
import {
|
|
236
236
|
SessionNotFoundError,
|
|
237
237
|
WorkspaceInUseError
|
|
238
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-6EZDW4JS.js";
|
|
239
239
|
import {
|
|
240
240
|
deleteSetting,
|
|
241
241
|
getSetting,
|
|
242
242
|
setSetting
|
|
243
|
-
} from "./chunk-
|
|
243
|
+
} from "./chunk-LQKXJPKP.js";
|
|
244
244
|
import {
|
|
245
245
|
initDatabase
|
|
246
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-JU757HVI.js";
|
|
247
247
|
import {
|
|
248
248
|
isReasoningEffortValue
|
|
249
249
|
} from "./chunk-2AI7VYPN.js";
|
|
@@ -2813,6 +2813,7 @@ var SessionManager = class {
|
|
|
2813
2813
|
dynamicContextChangedStore = /* @__PURE__ */ new Map();
|
|
2814
2814
|
debugDumpStore = /* @__PURE__ */ new Map();
|
|
2815
2815
|
announcedPromptHashStore = /* @__PURE__ */ new Map();
|
|
2816
|
+
announcedToolFingerprintStore = /* @__PURE__ */ new Map();
|
|
2816
2817
|
warmedUpSessions = /* @__PURE__ */ new Set();
|
|
2817
2818
|
switchLocks = /* @__PURE__ */ new Map();
|
|
2818
2819
|
workspaceCreationLocks = /* @__PURE__ */ new Map();
|
|
@@ -3079,7 +3080,7 @@ var SessionManager = class {
|
|
|
3079
3080
|
updateSessionMessageCount(newSession.id, messages.length);
|
|
3080
3081
|
const cached2 = getSessionCachedPrompt(originalSessionId);
|
|
3081
3082
|
if (cached2) {
|
|
3082
|
-
updateSessionCachedPrompt(newSession.id, cached2.systemPrompt, cached2.tools, cached2.hash);
|
|
3083
|
+
updateSessionCachedPrompt(newSession.id, cached2.systemPrompt, cached2.tools, cached2.hash, cached2.promptHash);
|
|
3083
3084
|
this.markWarmedUp(newSession.id);
|
|
3084
3085
|
}
|
|
3085
3086
|
this.emit({ type: "session_updated", session: this.requireSession(newSession.id) });
|
|
@@ -3149,6 +3150,8 @@ var SessionManager = class {
|
|
|
3149
3150
|
eventStore.deleteSession(id);
|
|
3150
3151
|
this.messageQueues.delete(id);
|
|
3151
3152
|
this.warmedUpSessions.delete(id);
|
|
3153
|
+
this.announcedPromptHashStore.delete(id);
|
|
3154
|
+
this.announcedToolFingerprintStore.delete(id);
|
|
3152
3155
|
deleteSession(id);
|
|
3153
3156
|
if (this.activeSessionId === id) {
|
|
3154
3157
|
this.activeSessionId = null;
|
|
@@ -3871,8 +3874,8 @@ var SessionManager = class {
|
|
|
3871
3874
|
resetWarmup(sessionId) {
|
|
3872
3875
|
this.warmedUpSessions.delete(sessionId);
|
|
3873
3876
|
}
|
|
3874
|
-
setCachedPrompt(sessionId, systemPrompt, tools, hash) {
|
|
3875
|
-
updateSessionCachedPrompt(sessionId, systemPrompt, tools, hash);
|
|
3877
|
+
setCachedPrompt(sessionId, systemPrompt, tools, hash, promptHash) {
|
|
3878
|
+
updateSessionCachedPrompt(sessionId, systemPrompt, tools, hash, promptHash);
|
|
3876
3879
|
this.resetWarmup(sessionId);
|
|
3877
3880
|
}
|
|
3878
3881
|
getCachedPrompt(sessionId) {
|
|
@@ -3901,6 +3904,17 @@ var SessionManager = class {
|
|
|
3901
3904
|
setAnnouncedPromptHash(sessionId, hash) {
|
|
3902
3905
|
this.announcedPromptHashStore.set(sessionId, hash);
|
|
3903
3906
|
}
|
|
3907
|
+
/**
|
|
3908
|
+
* The tool fingerprint last announced to the model via a tool-change
|
|
3909
|
+
* reminder. Drives exactly-once tool-drift reminders WITHOUT mutating the
|
|
3910
|
+
* cached prefix (the cached tools stay frozen until a manual rebase).
|
|
3911
|
+
*/
|
|
3912
|
+
getAnnouncedToolFingerprint(sessionId) {
|
|
3913
|
+
return this.announcedToolFingerprintStore.get(sessionId);
|
|
3914
|
+
}
|
|
3915
|
+
setAnnouncedToolFingerprint(sessionId, fingerprint) {
|
|
3916
|
+
this.announcedToolFingerprintStore.set(sessionId, fingerprint);
|
|
3917
|
+
}
|
|
3904
3918
|
/**
|
|
3905
3919
|
* @deprecated Use addTokensUsed instead
|
|
3906
3920
|
*/
|
|
@@ -6787,7 +6801,7 @@ function detectWsl() {
|
|
|
6787
6801
|
// src/server/index.ts
|
|
6788
6802
|
var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
|
|
6789
6803
|
async function announceContextDrift(sessionManager, sessionIds) {
|
|
6790
|
-
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-
|
|
6804
|
+
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-Y555VDLA.js");
|
|
6791
6805
|
await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
|
|
6792
6806
|
}
|
|
6793
6807
|
async function createServerHandle(config3) {
|
|
@@ -6894,7 +6908,7 @@ async function createServerHandle(config3) {
|
|
|
6894
6908
|
toolRegistry = createToolRegistry();
|
|
6895
6909
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
6896
6910
|
}
|
|
6897
|
-
const { signalMcpReady } = await import("./server-
|
|
6911
|
+
const { signalMcpReady } = await import("./server-5TY22HDN.js");
|
|
6898
6912
|
signalMcpReady();
|
|
6899
6913
|
});
|
|
6900
6914
|
const app = express();
|
|
@@ -6996,7 +7010,7 @@ async function createServerHandle(config3) {
|
|
|
6996
7010
|
res.json({ tools });
|
|
6997
7011
|
});
|
|
6998
7012
|
app.get("/api/projects", async (_req, res) => {
|
|
6999
|
-
const { listProjects: listProjects2 } = await import("./projects-
|
|
7013
|
+
const { listProjects: listProjects2 } = await import("./projects-5U37RUTL.js");
|
|
7000
7014
|
const projects = listProjects2();
|
|
7001
7015
|
res.json({ projects });
|
|
7002
7016
|
});
|
|
@@ -7005,7 +7019,7 @@ async function createServerHandle(config3) {
|
|
|
7005
7019
|
if (!name || !workdir) {
|
|
7006
7020
|
return res.status(400).json({ error: "name and workdir are required" });
|
|
7007
7021
|
}
|
|
7008
|
-
const { createDirectoryWithGit } = await import("./project-creator-
|
|
7022
|
+
const { createDirectoryWithGit } = await import("./project-creator-6AGQTNXB.js");
|
|
7009
7023
|
try {
|
|
7010
7024
|
const project = await createDirectoryWithGit(name, workdir);
|
|
7011
7025
|
res.status(201).json({ project });
|
|
@@ -7050,7 +7064,7 @@ async function createServerHandle(config3) {
|
|
|
7050
7064
|
}
|
|
7051
7065
|
});
|
|
7052
7066
|
app.get("/api/projects/:id", async (req, res) => {
|
|
7053
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7067
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7054
7068
|
const project = getProject2(req.params.id);
|
|
7055
7069
|
if (!project) {
|
|
7056
7070
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7058,7 +7072,7 @@ async function createServerHandle(config3) {
|
|
|
7058
7072
|
res.json({ project });
|
|
7059
7073
|
});
|
|
7060
7074
|
app.get("/api/projects/:id/open-folder", async (req, res) => {
|
|
7061
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7075
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7062
7076
|
const project = getProject2(req.params.id);
|
|
7063
7077
|
if (!project) {
|
|
7064
7078
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7072,7 +7086,7 @@ async function createServerHandle(config3) {
|
|
|
7072
7086
|
}
|
|
7073
7087
|
});
|
|
7074
7088
|
app.put("/api/projects/:id", async (req, res) => {
|
|
7075
|
-
const { updateProject: updateProject2 } = await import("./projects-
|
|
7089
|
+
const { updateProject: updateProject2 } = await import("./projects-5U37RUTL.js");
|
|
7076
7090
|
const { name, customInstructions, dangerLevel, defaultAgent } = req.body;
|
|
7077
7091
|
const updates = {};
|
|
7078
7092
|
if (name !== void 0) updates.name = name;
|
|
@@ -7086,7 +7100,7 @@ async function createServerHandle(config3) {
|
|
|
7086
7100
|
res.json({ project: updated });
|
|
7087
7101
|
});
|
|
7088
7102
|
app.delete("/api/projects/:id", async (req, res) => {
|
|
7089
|
-
const { getProject: getProject2, deleteProject: deleteProject2 } = await import("./projects-
|
|
7103
|
+
const { getProject: getProject2, deleteProject: deleteProject2 } = await import("./projects-5U37RUTL.js");
|
|
7090
7104
|
const project = getProject2(req.params.id);
|
|
7091
7105
|
if (!project) {
|
|
7092
7106
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7095,7 +7109,7 @@ async function createServerHandle(config3) {
|
|
|
7095
7109
|
res.json({ success: true });
|
|
7096
7110
|
});
|
|
7097
7111
|
app.put("/api/projects/:id/star", async (req, res) => {
|
|
7098
|
-
const { toggleStar } = await import("./projects-
|
|
7112
|
+
const { toggleStar } = await import("./projects-5U37RUTL.js");
|
|
7099
7113
|
const { isStarred } = req.body;
|
|
7100
7114
|
if (typeof isStarred !== "boolean") {
|
|
7101
7115
|
return res.status(400).json({ error: "isStarred is required and must be a boolean" });
|
|
@@ -7109,9 +7123,9 @@ async function createServerHandle(config3) {
|
|
|
7109
7123
|
const sessionFavoriteRouter = express.Router();
|
|
7110
7124
|
registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
|
|
7111
7125
|
app.use("/api", sessionFavoriteRouter);
|
|
7112
|
-
const { createTasksService } = await import("./service-
|
|
7113
|
-
const { registerTaskRoutes } = await import("./tasks-
|
|
7114
|
-
const { setTasksService } = await import("./tools-
|
|
7126
|
+
const { createTasksService } = await import("./service-VPXGREXF.js");
|
|
7127
|
+
const { registerTaskRoutes } = await import("./tasks-MNPXK2S5.js");
|
|
7128
|
+
const { setTasksService } = await import("./tools-6BDT5YMT.js");
|
|
7115
7129
|
const tasksService = createTasksService({
|
|
7116
7130
|
sessionManager,
|
|
7117
7131
|
config: config3,
|
|
@@ -7124,26 +7138,26 @@ async function createServerHandle(config3) {
|
|
|
7124
7138
|
registerTaskRoutes(tasksRouter, tasksService);
|
|
7125
7139
|
app.use("/api", tasksRouter);
|
|
7126
7140
|
app.get("/api/projects/:id/branches", async (req, res) => {
|
|
7127
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7141
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7128
7142
|
const project = getProject2(req.params.id);
|
|
7129
7143
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7130
|
-
const { listBranches } = await import("./workspace-
|
|
7144
|
+
const { listBranches } = await import("./workspace-LM646OHC.js");
|
|
7131
7145
|
const branches = await listBranches(project.workdir);
|
|
7132
7146
|
res.json({ branches });
|
|
7133
7147
|
});
|
|
7134
7148
|
app.post("/api/projects/:id/checkout", async (req, res) => {
|
|
7135
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7149
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7136
7150
|
const project = getProject2(req.params.id);
|
|
7137
7151
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7138
7152
|
const { branch } = req.body;
|
|
7139
7153
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
7140
|
-
const { checkoutBranch, isGitRepository } = await import("./workspace-
|
|
7154
|
+
const { checkoutBranch, isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7141
7155
|
if (!await isGitRepository(project.workdir)) {
|
|
7142
7156
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7143
7157
|
}
|
|
7144
7158
|
try {
|
|
7145
7159
|
await checkoutBranch(project.workdir, branch);
|
|
7146
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7160
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7147
7161
|
const allSessions = sessionManager.listSessions();
|
|
7148
7162
|
for (const s of allSessions) {
|
|
7149
7163
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -7157,12 +7171,12 @@ async function createServerHandle(config3) {
|
|
|
7157
7171
|
}
|
|
7158
7172
|
});
|
|
7159
7173
|
app.post("/api/projects/:id/checkout-new", async (req, res) => {
|
|
7160
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7174
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7161
7175
|
const project = getProject2(req.params.id);
|
|
7162
7176
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7163
7177
|
const { name, sourceBranch } = req.body;
|
|
7164
7178
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
7165
|
-
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-
|
|
7179
|
+
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7166
7180
|
if (!await isGitRepository(project.workdir)) {
|
|
7167
7181
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7168
7182
|
}
|
|
@@ -7179,7 +7193,7 @@ async function createServerHandle(config3) {
|
|
|
7179
7193
|
);
|
|
7180
7194
|
}
|
|
7181
7195
|
await createBranch(project.workdir, name, sb);
|
|
7182
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7196
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7183
7197
|
const allSessions = sessionManager.listSessions();
|
|
7184
7198
|
for (const s of allSessions) {
|
|
7185
7199
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -7196,7 +7210,7 @@ async function createServerHandle(config3) {
|
|
|
7196
7210
|
const session = sessionManager.getSession(req.params.id);
|
|
7197
7211
|
if (!session) return res.status(404).json({ error: "Session not found" });
|
|
7198
7212
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7199
|
-
const { listBranches, getDefaultBranch } = await import("./workspace-
|
|
7213
|
+
const { listBranches, getDefaultBranch } = await import("./workspace-LM646OHC.js");
|
|
7200
7214
|
const [branches, defaultBranch] = await Promise.all([
|
|
7201
7215
|
listBranches(effectiveWorkdir),
|
|
7202
7216
|
getDefaultBranch(session.workdir)
|
|
@@ -7210,8 +7224,8 @@ async function createServerHandle(config3) {
|
|
|
7210
7224
|
const { branch } = req.body;
|
|
7211
7225
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
7212
7226
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7213
|
-
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-
|
|
7214
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7227
|
+
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-LM646OHC.js");
|
|
7228
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7215
7229
|
try {
|
|
7216
7230
|
await validateRef2(effectiveWorkdir, branch);
|
|
7217
7231
|
await checkoutBranch(effectiveWorkdir, branch);
|
|
@@ -7253,16 +7267,16 @@ All file and git operations should use this branch.
|
|
|
7253
7267
|
const { name, sourceBranch } = req.body;
|
|
7254
7268
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
7255
7269
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7256
|
-
const { validateRef: validateRef2 } = await import("./workspace-
|
|
7257
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7270
|
+
const { validateRef: validateRef2 } = await import("./workspace-LM646OHC.js");
|
|
7271
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7258
7272
|
try {
|
|
7259
7273
|
await validateRef2(effectiveWorkdir, name);
|
|
7260
7274
|
if (sourceBranch) {
|
|
7261
|
-
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-
|
|
7275
|
+
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-LM646OHC.js");
|
|
7262
7276
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, sourceBranch, session.workdir);
|
|
7263
7277
|
await createBranch(effectiveWorkdir, name, sb);
|
|
7264
7278
|
} else {
|
|
7265
|
-
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-
|
|
7279
|
+
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-LM646OHC.js");
|
|
7266
7280
|
const defaultBranch = await getDefaultBranch(session.workdir);
|
|
7267
7281
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, defaultBranch, session.workdir);
|
|
7268
7282
|
await createBranch(effectiveWorkdir, name, sb);
|
|
@@ -7300,17 +7314,17 @@ All file and git operations should use this branch.
|
|
|
7300
7314
|
}
|
|
7301
7315
|
});
|
|
7302
7316
|
app.get("/api/projects/:id/workspaces", async (req, res) => {
|
|
7303
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7317
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7304
7318
|
const project = getProject2(req.params.id);
|
|
7305
7319
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7306
|
-
const { listWorkspaces } = await import("./workspace-
|
|
7320
|
+
const { listWorkspaces } = await import("./workspace-LM646OHC.js");
|
|
7307
7321
|
const all = await listWorkspaces(project.name, project.workdir);
|
|
7308
7322
|
const workspacesList = all.filter((ws) => ws.path !== project.workdir);
|
|
7309
7323
|
res.json({ workspaces: workspacesList });
|
|
7310
7324
|
});
|
|
7311
7325
|
app.get("/api/sessions", async (req, res) => {
|
|
7312
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
7313
|
-
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-
|
|
7326
|
+
const { getRecentUserPromptsForSession } = await import("./events-ZJPRGVL2.js");
|
|
7327
|
+
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-CBACXAMS.js");
|
|
7314
7328
|
const projectId = req.query["projectId"];
|
|
7315
7329
|
const rawLimit = req.query["limit"];
|
|
7316
7330
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -7365,7 +7379,7 @@ All file and git operations should use this branch.
|
|
|
7365
7379
|
disabledServers = mcpManager.getAllServers().filter((s) => s.config.disabled).map((s) => s.name);
|
|
7366
7380
|
}
|
|
7367
7381
|
if (disabledServers.length > 0) {
|
|
7368
|
-
const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-
|
|
7382
|
+
const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-OECQYRDK.js");
|
|
7369
7383
|
setSessionDisabledServers2(session.id, disabledServers);
|
|
7370
7384
|
}
|
|
7371
7385
|
} catch {
|
|
@@ -7402,7 +7416,7 @@ All file and git operations should use this branch.
|
|
|
7402
7416
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
7403
7417
|
const project = sessionManager.getProject(session.projectId);
|
|
7404
7418
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7405
|
-
const { isGitRepository } = await import("./workspace-
|
|
7419
|
+
const { isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7406
7420
|
if (!await isGitRepository(project.workdir)) {
|
|
7407
7421
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7408
7422
|
}
|
|
@@ -7420,7 +7434,7 @@ All file and git operations should use this branch.
|
|
|
7420
7434
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
7421
7435
|
const project = sessionManager.getProject(session.projectId);
|
|
7422
7436
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7423
|
-
const { isGitRepository } = await import("./workspace-
|
|
7437
|
+
const { isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7424
7438
|
if (!await isGitRepository(project.workdir)) {
|
|
7425
7439
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7426
7440
|
}
|
|
@@ -7438,10 +7452,10 @@ All file and git operations should use this branch.
|
|
|
7438
7452
|
}
|
|
7439
7453
|
});
|
|
7440
7454
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
7441
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-
|
|
7442
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
7443
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7444
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7455
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZJPRGVL2.js");
|
|
7456
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
|
|
7457
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-6BDT5YMT.js");
|
|
7458
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7445
7459
|
const session = sessionManager.getSession(req.params.id);
|
|
7446
7460
|
if (!session) {
|
|
7447
7461
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -7469,9 +7483,9 @@ All file and git operations should use this branch.
|
|
|
7469
7483
|
});
|
|
7470
7484
|
app.get("/api/sessions/:id/status", async (req, res) => {
|
|
7471
7485
|
const { projectSessionStatus: projectSessionStatus2 } = await import("./session-status-UFO5IFI7.js");
|
|
7472
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7473
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-
|
|
7474
|
-
const { foldPendingConfirmations } = await import("./folding-
|
|
7486
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-6BDT5YMT.js");
|
|
7487
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZJPRGVL2.js");
|
|
7488
|
+
const { foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
|
|
7475
7489
|
const sessionId = req.params["id"];
|
|
7476
7490
|
if (!sessionId) {
|
|
7477
7491
|
return res.status(400).json({ error: "Session id is required" });
|
|
@@ -7501,8 +7515,8 @@ All file and git operations should use this branch.
|
|
|
7501
7515
|
if (!session) {
|
|
7502
7516
|
return res.status(404).json({ error: "Session not found" });
|
|
7503
7517
|
}
|
|
7504
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7505
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7518
|
+
const { stopSessionExecution } = await import("./chat-handler-RAIMQU7F.js");
|
|
7519
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-6BDT5YMT.js");
|
|
7506
7520
|
sessionManager.clearMessageQueue(sessionId);
|
|
7507
7521
|
stopSessionExecution(sessionId, sessionManager);
|
|
7508
7522
|
abortSession(sessionId);
|
|
@@ -7531,9 +7545,9 @@ All file and git operations should use this branch.
|
|
|
7531
7545
|
res.json({ success: true });
|
|
7532
7546
|
});
|
|
7533
7547
|
app.post("/api/sessions/:id/provider", async (req, res) => {
|
|
7534
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
7535
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
7536
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7548
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ZJPRGVL2.js");
|
|
7549
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7550
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7537
7551
|
const sessionId = req.params.id;
|
|
7538
7552
|
const session = sessionManager.getSession(sessionId);
|
|
7539
7553
|
if (!session) {
|
|
@@ -7561,9 +7575,9 @@ All file and git operations should use this branch.
|
|
|
7561
7575
|
res.json({ session: toClientSession(updatedSession), messages, hiddenCount, contextState });
|
|
7562
7576
|
});
|
|
7563
7577
|
app.delete("/api/sessions/:id/provider", async (req, res) => {
|
|
7564
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
7565
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
7566
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7578
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ZJPRGVL2.js");
|
|
7579
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7580
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7567
7581
|
const sessionId = req.params.id;
|
|
7568
7582
|
const session = sessionManager.getSession(sessionId);
|
|
7569
7583
|
if (!session) {
|
|
@@ -7693,9 +7707,9 @@ All file and git operations should use this branch.
|
|
|
7693
7707
|
res.json({ success: true });
|
|
7694
7708
|
});
|
|
7695
7709
|
app.put("/api/sessions/:id/mode", async (req, res) => {
|
|
7696
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
7697
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
7698
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7710
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ZJPRGVL2.js");
|
|
7711
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7712
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7699
7713
|
const sessionId = req.params.id;
|
|
7700
7714
|
const session = sessionManager.getSession(sessionId);
|
|
7701
7715
|
if (!session) {
|
|
@@ -7755,7 +7769,7 @@ All file and git operations should use this branch.
|
|
|
7755
7769
|
setSessionDisabledServers(sessionId, disabledServers);
|
|
7756
7770
|
const messages = session.messages ?? [];
|
|
7757
7771
|
if (messages.length === 0) {
|
|
7758
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
7772
|
+
const { applyDynamicContext } = await import("./dynamic-context-Y555VDLA.js");
|
|
7759
7773
|
const modelName = session.providerModel ?? providerManager.getCurrentModel();
|
|
7760
7774
|
await applyDynamicContext(sessionManager, sessionId, modelName);
|
|
7761
7775
|
} else {
|
|
@@ -7789,7 +7803,7 @@ All file and git operations should use this branch.
|
|
|
7789
7803
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
7790
7804
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
7791
7805
|
}
|
|
7792
|
-
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-
|
|
7806
|
+
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-6BDT5YMT.js");
|
|
7793
7807
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
7794
7808
|
if (!pendingSessionId) {
|
|
7795
7809
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -7801,11 +7815,11 @@ All file and git operations should use this branch.
|
|
|
7801
7815
|
if (!result.found) {
|
|
7802
7816
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
7803
7817
|
}
|
|
7804
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-
|
|
7805
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
7818
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-ZJPRGVL2.js");
|
|
7819
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
|
|
7806
7820
|
const { createSessionStateMessage } = await import("./protocol-Y7MRKRUO.js");
|
|
7807
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7808
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7821
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-6BDT5YMT.js");
|
|
7822
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7809
7823
|
const eventStore = getEventStore2();
|
|
7810
7824
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
7811
7825
|
const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
|
|
@@ -7842,7 +7856,7 @@ All file and git operations should use this branch.
|
|
|
7842
7856
|
if (!skip && typeof answer !== "string") {
|
|
7843
7857
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
7844
7858
|
}
|
|
7845
|
-
const { provideAnswer: provideAnswer2 } = await import("./tools-
|
|
7859
|
+
const { provideAnswer: provideAnswer2 } = await import("./tools-6BDT5YMT.js");
|
|
7846
7860
|
const found = provideAnswer2(callId, answer ?? "", skip ?? false);
|
|
7847
7861
|
if (!found) {
|
|
7848
7862
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -7875,7 +7889,7 @@ All file and git operations should use this branch.
|
|
|
7875
7889
|
if (!session) {
|
|
7876
7890
|
return res.status(404).json({ error: "Session not found" });
|
|
7877
7891
|
}
|
|
7878
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
7892
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-MDCRNQBY.js");
|
|
7879
7893
|
if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
|
|
7880
7894
|
return res.json({ success: false, reason: "disabled" });
|
|
7881
7895
|
}
|
|
@@ -7908,7 +7922,7 @@ All file and git operations should use this branch.
|
|
|
7908
7922
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
7909
7923
|
model: llmClient.getModel()
|
|
7910
7924
|
};
|
|
7911
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
7925
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-SQN2SJ2A.js");
|
|
7912
7926
|
runAgentTurn(
|
|
7913
7927
|
{
|
|
7914
7928
|
sessionManager,
|
|
@@ -7946,15 +7960,15 @@ All file and git operations should use this branch.
|
|
|
7946
7960
|
if (!session) {
|
|
7947
7961
|
return res.status(404).json({ error: "Session not found" });
|
|
7948
7962
|
}
|
|
7949
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7950
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7963
|
+
const { stopSessionExecution } = await import("./chat-handler-RAIMQU7F.js");
|
|
7964
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-6BDT5YMT.js");
|
|
7951
7965
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
7952
7966
|
sessionManager.clearMessageQueue(sessionId);
|
|
7953
7967
|
stopSessionExecution(sessionId, sessionManager);
|
|
7954
7968
|
abortSession(sessionId);
|
|
7955
7969
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
7956
7970
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
7957
|
-
const eventStore = (await import("./events-
|
|
7971
|
+
const eventStore = (await import("./events-ZJPRGVL2.js")).getEventStore();
|
|
7958
7972
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
7959
7973
|
res.json({ success: true, queuedMessages });
|
|
7960
7974
|
});
|
|
@@ -7968,7 +7982,7 @@ All file and git operations should use this branch.
|
|
|
7968
7982
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
7969
7983
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
7970
7984
|
}
|
|
7971
|
-
const { truncateSessionMessages } = await import("./events-
|
|
7985
|
+
const { truncateSessionMessages } = await import("./events-ZJPRGVL2.js");
|
|
7972
7986
|
truncateSessionMessages(sessionId, messageIndex);
|
|
7973
7987
|
res.json({ success: true });
|
|
7974
7988
|
});
|
|
@@ -7988,8 +8002,8 @@ All file and git operations should use this branch.
|
|
|
7988
8002
|
if (attachments !== void 0 && !Array.isArray(attachments)) {
|
|
7989
8003
|
return res.status(400).json({ error: "attachments must be an array if provided" });
|
|
7990
8004
|
}
|
|
7991
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
7992
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8005
|
+
const { getEventStore: getEventStore2 } = await import("./events-ZJPRGVL2.js");
|
|
8006
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7993
8007
|
const eventStore = getEventStore2();
|
|
7994
8008
|
const events = eventStore.getEvents(sessionId);
|
|
7995
8009
|
const { messages } = buildMessagesFromStoredEvents2(events);
|
|
@@ -8001,7 +8015,7 @@ All file and git operations should use this branch.
|
|
|
8001
8015
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
8002
8016
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
8003
8017
|
}
|
|
8004
|
-
const { truncateSessionMessages } = await import("./events-
|
|
8018
|
+
const { truncateSessionMessages } = await import("./events-ZJPRGVL2.js");
|
|
8005
8019
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
8006
8020
|
sessionManager.queueMessage(
|
|
8007
8021
|
sessionId,
|
|
@@ -8063,7 +8077,7 @@ All file and git operations should use this branch.
|
|
|
8063
8077
|
res.json({ accepted: true });
|
|
8064
8078
|
});
|
|
8065
8079
|
app.get("/api/settings", async (req, res) => {
|
|
8066
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8080
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-MDCRNQBY.js");
|
|
8067
8081
|
const keysParam = req.query["keys"];
|
|
8068
8082
|
if (!keysParam) {
|
|
8069
8083
|
return res.status(400).json({ error: "keys query parameter is required" });
|
|
@@ -8076,19 +8090,19 @@ All file and git operations should use this branch.
|
|
|
8076
8090
|
res.json(result);
|
|
8077
8091
|
});
|
|
8078
8092
|
app.get("/api/settings/:key", async (req, res) => {
|
|
8079
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8093
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-MDCRNQBY.js");
|
|
8080
8094
|
const key = req.params.key;
|
|
8081
8095
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
8082
8096
|
res.json({ key, value });
|
|
8083
8097
|
});
|
|
8084
8098
|
app.get("/api/settings/:key", async (req, res) => {
|
|
8085
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8099
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-MDCRNQBY.js");
|
|
8086
8100
|
const key = req.params.key;
|
|
8087
8101
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
8088
8102
|
res.json({ key, value });
|
|
8089
8103
|
});
|
|
8090
8104
|
app.put("/api/settings/:key", async (req, res) => {
|
|
8091
|
-
const { setSetting: setSetting2 } = await import("./settings-
|
|
8105
|
+
const { setSetting: setSetting2 } = await import("./settings-MDCRNQBY.js");
|
|
8092
8106
|
const key = req.params.key;
|
|
8093
8107
|
const { value } = req.body;
|
|
8094
8108
|
if (value === void 0) {
|
|
@@ -8115,7 +8129,7 @@ All file and git operations should use this branch.
|
|
|
8115
8129
|
}
|
|
8116
8130
|
});
|
|
8117
8131
|
app.get("/api/tools/shells", async (_req, res) => {
|
|
8118
|
-
const { listAvailableShells } = await import("./platform-
|
|
8132
|
+
const { listAvailableShells } = await import("./platform-5LQXOZO3.js");
|
|
8119
8133
|
res.json({ shells: listAvailableShells() });
|
|
8120
8134
|
});
|
|
8121
8135
|
app.get("/api/config", async (_req, res) => {
|
|
@@ -8208,7 +8222,7 @@ All file and git operations should use this branch.
|
|
|
8208
8222
|
}));
|
|
8209
8223
|
}
|
|
8210
8224
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
8211
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8225
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-MDCRNQBY.js");
|
|
8212
8226
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
8213
8227
|
if (!proxyUrl) {
|
|
8214
8228
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -8300,7 +8314,7 @@ All file and git operations should use this branch.
|
|
|
8300
8314
|
}
|
|
8301
8315
|
});
|
|
8302
8316
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
8303
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8317
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-MDCRNQBY.js");
|
|
8304
8318
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
8305
8319
|
if (!proxyUrl) {
|
|
8306
8320
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -8327,7 +8341,7 @@ All file and git operations should use this branch.
|
|
|
8327
8341
|
const backend = req.query["backend"];
|
|
8328
8342
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
8329
8343
|
try {
|
|
8330
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
8344
|
+
const { fetchModelsWithContext } = await import("./provider-manager-URNJBK5Q.js");
|
|
8331
8345
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8332
8346
|
const { getCatalogEntry } = await import("./model-catalog-2PCKTYGW.js");
|
|
8333
8347
|
const models = await fetchModelsWithContext(
|
|
@@ -8402,7 +8416,7 @@ All file and git operations should use this branch.
|
|
|
8402
8416
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8403
8417
|
const { getBackendCapabilities } = await import("./backend-NDBY3DAQ.js");
|
|
8404
8418
|
const { buildNonStreamingCreateParams } = await import("./client-pure-FLKP6PTI.js");
|
|
8405
|
-
const { OpenAIHttpClient } = await import("./http-client-
|
|
8419
|
+
const { OpenAIHttpClient } = await import("./http-client-P4XTKAZA.js");
|
|
8406
8420
|
const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
|
|
8407
8421
|
const profile = getModelProfile2(model);
|
|
8408
8422
|
const capabilities = getBackendCapabilities(backend || "unknown");
|
|
@@ -8819,7 +8833,7 @@ All file and git operations should use this branch.
|
|
|
8819
8833
|
});
|
|
8820
8834
|
async function rebuildMcpTools() {
|
|
8821
8835
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FJAFLDZA.js");
|
|
8822
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
8836
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-6BDT5YMT.js");
|
|
8823
8837
|
const mcpTools = createMcpTools2(mcpManager);
|
|
8824
8838
|
setMcpTools2(mcpTools);
|
|
8825
8839
|
toolRegistry = createToolRegistry();
|
|
@@ -9222,7 +9236,7 @@ All file and git operations should use this branch.
|
|
|
9222
9236
|
res.status(400).json({ error: error instanceof Error ? error.message : String(error) });
|
|
9223
9237
|
}
|
|
9224
9238
|
});
|
|
9225
|
-
const { listProjects } = await import("./projects-
|
|
9239
|
+
const { listProjects } = await import("./projects-5U37RUTL.js");
|
|
9226
9240
|
const allProjects = listProjects();
|
|
9227
9241
|
const projectDir = allProjects.find(
|
|
9228
9242
|
(p) => p.workdir === config3.workdir || config3.workdir && p.workdir.startsWith(config3.workdir + "/")
|
|
@@ -9249,13 +9263,13 @@ All file and git operations should use this branch.
|
|
|
9249
9263
|
})
|
|
9250
9264
|
);
|
|
9251
9265
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
9252
|
-
const { getSessionProcesses } = await import("./manager-
|
|
9266
|
+
const { getSessionProcesses } = await import("./manager-TMBFBCQL.js");
|
|
9253
9267
|
const sessionId = req.params.id;
|
|
9254
9268
|
const processes = getSessionProcesses(sessionId);
|
|
9255
9269
|
res.json({ processes });
|
|
9256
9270
|
});
|
|
9257
9271
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
9258
|
-
const { stopProcess } = await import("./manager-
|
|
9272
|
+
const { stopProcess } = await import("./manager-TMBFBCQL.js");
|
|
9259
9273
|
const sessionId = req.params.id;
|
|
9260
9274
|
const processId = req.params.processId;
|
|
9261
9275
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -9395,7 +9409,7 @@ All file and git operations should use this branch.
|
|
|
9395
9409
|
);
|
|
9396
9410
|
const wss = wssExports.wss;
|
|
9397
9411
|
deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
|
|
9398
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
9412
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-Y4H7FDU2.js");
|
|
9399
9413
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
9400
9414
|
const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
|
|
9401
9415
|
let llmClient = getLLMClient();
|
|
@@ -9440,7 +9454,7 @@ All file and git operations should use this branch.
|
|
|
9440
9454
|
const state = sessionManager.getContextState(sessionId);
|
|
9441
9455
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
9442
9456
|
});
|
|
9443
|
-
const { QueueProcessor } = await import("./processor-
|
|
9457
|
+
const { QueueProcessor } = await import("./processor-MEHODYNE.js");
|
|
9444
9458
|
const queueProcessor = new QueueProcessor({
|
|
9445
9459
|
sessionManager,
|
|
9446
9460
|
providerManager,
|
|
@@ -9465,7 +9479,7 @@ All file and git operations should use this branch.
|
|
|
9465
9479
|
sessionManager,
|
|
9466
9480
|
listProjects: () => listProjects(),
|
|
9467
9481
|
createProject: async (name, workdir) => {
|
|
9468
|
-
const { createDirectoryWithGit } = await import("./project-creator-
|
|
9482
|
+
const { createDirectoryWithGit } = await import("./project-creator-6AGQTNXB.js");
|
|
9469
9483
|
return createDirectoryWithGit(name, workdir);
|
|
9470
9484
|
},
|
|
9471
9485
|
deleteProject: (projectId) => {
|
|
@@ -9482,8 +9496,8 @@ All file and git operations should use this branch.
|
|
|
9482
9496
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
|
|
9483
9497
|
stopSession: (sessionId) => {
|
|
9484
9498
|
void (async () => {
|
|
9485
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
9486
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
9499
|
+
const { stopSessionExecution } = await import("./chat-handler-RAIMQU7F.js");
|
|
9500
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-6BDT5YMT.js");
|
|
9487
9501
|
sessionManager.clearMessageQueue(sessionId);
|
|
9488
9502
|
stopSessionExecution(sessionId, sessionManager);
|
|
9489
9503
|
abortSession(sessionId);
|
|
@@ -9562,7 +9576,7 @@ All file and git operations should use this branch.
|
|
|
9562
9576
|
void (async () => {
|
|
9563
9577
|
await devServerManager.stopAll();
|
|
9564
9578
|
await mcpManager.disconnectAll();
|
|
9565
|
-
const { stopAllInspectProxies } = await import("./inspect-proxy-
|
|
9579
|
+
const { stopAllInspectProxies } = await import("./inspect-proxy-A3OROWPG.js");
|
|
9566
9580
|
stopAllInspectProxies();
|
|
9567
9581
|
const { cleanupAllProcesses } = await import("./store-JYPZ2RXB.js");
|
|
9568
9582
|
cleanupAllProcesses();
|
|
@@ -9604,4 +9618,4 @@ export {
|
|
|
9604
9618
|
createServerHandle,
|
|
9605
9619
|
createServer
|
|
9606
9620
|
};
|
|
9607
|
-
//# sourceMappingURL=chunk-
|
|
9621
|
+
//# sourceMappingURL=chunk-6MUSEPV7.js.map
|