openfox 2.0.130 → 2.0.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/CHANGELOG.md +23 -0
- package/dist/{chat-handler-4WCKNCQV.js → chat-handler-T47GATL5.js} +24 -24
- package/dist/chunk-55RHB5JB.js +7 -0
- package/dist/{chunk-CYQUM42E.js → chunk-5JWJEZJ3.js} +2 -2
- package/dist/{chunk-OXMOKQPW.js → chunk-6EZDW4JS.js} +2 -2
- package/dist/{chunk-CGCEAKG5.js → chunk-7JVBDBXE.js} +2 -2
- package/dist/{chunk-64N4CZFT.js → chunk-BKMWZTNO.js} +3 -3
- package/dist/{chunk-DHDIKVRT.js → chunk-CLDCHOEA.js} +3 -3
- package/dist/{chunk-3B232XG4.js → chunk-DPFET73G.js} +2 -2
- package/dist/{chunk-JHA2SPCU.js → chunk-ELYHHEYL.js} +3 -3
- package/dist/{chunk-KHKRHGA6.js → chunk-EOHEDEIH.js} +4 -4
- package/dist/{chunk-JSONBGSY.js → chunk-FEIRWXLX.js} +4 -4
- package/dist/{chunk-AYCB32NI.js → chunk-FGNJMKDV.js} +5 -5
- package/dist/{chunk-EVVWDRM5.js → chunk-GFW2HWJ6.js} +18 -12
- package/dist/{chunk-2OMXXCJJ.js → chunk-GVOOOV7M.js} +8 -8
- package/dist/{chunk-X24XN2M2.js → chunk-HXHPKGJE.js} +19 -19
- 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-35GQEIH2.js → chunk-RRUSYVQD.js} +7 -7
- package/dist/{chunk-DYIDDGMN.js → chunk-RUFXKUOL.js} +16 -16
- package/dist/{chunk-ZRCRGPGT.js → chunk-TACWRDDC.js} +3 -3
- package/dist/{chunk-25DAVVTP.js → chunk-VXG3AFFY.js} +46 -48
- package/dist/{chunk-Y3BSBKHY.js → chunk-XE6UC5Z3.js} +2 -2
- package/dist/{chunk-VJNA5AOB.js → chunk-Y6ZGHOKM.js} +3 -3
- package/dist/{chunk-VUIXQ6X4.js → chunk-ZL4IAFF3.js} +3 -3
- package/dist/{chunk-DI5GTIAU.js → chunk-ZSBNXJZ5.js} +132 -115
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-26RSMUAX.js → client-2K6PPPJJ.js} +5 -5
- package/dist/{compactor-HYBSSFKP.js → compactor-OEJAA2YP.js} +11 -11
- package/dist/{dynamic-context-2VLACYK4.js → dynamic-context-NJZKAZE3.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-6I5ADTVT.js} +24 -24
- package/dist/{manager-VRHX7BVI.js → manager-TMBFBCQL.js} +5 -5
- package/dist/{orchestrator-PLTAEOMR.js → orchestrator-GX22Y5EM.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-FMEULCNQ.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-NWRGNGS3.js} +6 -6
- package/dist/{provider-manager-7NL5EQLG.js → provider-manager-BO5ZBG3T.js} +6 -6
- package/dist/{registry-KFFZFIZT.js → registry-CMSSZHDC.js} +5 -5
- package/dist/{serve-KQAPXO5X.js → serve-BFGHUM4Y.js} +29 -29
- package/dist/server/index.d.ts +10 -1
- package/dist/server/index.js +28 -28
- package/dist/server-WPWUYB6I.js +56 -0
- package/dist/{service-7TLOSFAO.js → service-O3LCO3TQ.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-WOC3QUFA.js} +8 -8
- package/dist/{tools-SSPC3UQZ.js → tools-CW6POKUL.js} +21 -21
- package/dist/{update-QRGK67DB.js → update-VPCDKFLD.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-RUFXKUOL.js";
|
|
28
28
|
import {
|
|
29
29
|
TEMPLATE_VARIABLES
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-GVOOOV7M.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-HXHPKGJE.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-FEIRWXLX.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-5JWJEZJ3.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-55RHB5JB.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";
|
|
@@ -2801,11 +2801,14 @@ function canCompact(currentTokens, maxTokens) {
|
|
|
2801
2801
|
|
|
2802
2802
|
// src/server/session/manager.ts
|
|
2803
2803
|
var WORKSPACE_COMMIT_RECIPE = `
|
|
2804
|
-
To land changes from this workspace
|
|
2804
|
+
To land changes from this workspace when the user asks to commit and push:
|
|
2805
2805
|
1. Commit your work.
|
|
2806
|
-
2.
|
|
2807
|
-
3.
|
|
2808
|
-
4.
|
|
2806
|
+
2. Push to the original repo on a temporary branch (its origin is the local repo itself): \`git push origin HEAD:<feature-slug>\`
|
|
2807
|
+
3. Switch back to the original project: \`workspace switch original\`
|
|
2808
|
+
4. Merge the temporary branch and delete it: \`git merge --ff-only <feature-slug> && git branch -d <feature-slug>\`
|
|
2809
|
+
5. Verify the work is present in the original repo.
|
|
2810
|
+
6. Delete the workspace \u2014 it can be recreated at any time: \`workspace delete <name> force=true\`
|
|
2811
|
+
7. Push to the remote from the original repo: \`git push origin <branch>\``;
|
|
2809
2812
|
var SessionManager = class {
|
|
2810
2813
|
events = new EventEmitter();
|
|
2811
2814
|
activeSessionId = null;
|
|
@@ -2813,6 +2816,7 @@ var SessionManager = class {
|
|
|
2813
2816
|
dynamicContextChangedStore = /* @__PURE__ */ new Map();
|
|
2814
2817
|
debugDumpStore = /* @__PURE__ */ new Map();
|
|
2815
2818
|
announcedPromptHashStore = /* @__PURE__ */ new Map();
|
|
2819
|
+
announcedToolFingerprintStore = /* @__PURE__ */ new Map();
|
|
2816
2820
|
warmedUpSessions = /* @__PURE__ */ new Set();
|
|
2817
2821
|
switchLocks = /* @__PURE__ */ new Map();
|
|
2818
2822
|
workspaceCreationLocks = /* @__PURE__ */ new Map();
|
|
@@ -3079,7 +3083,7 @@ var SessionManager = class {
|
|
|
3079
3083
|
updateSessionMessageCount(newSession.id, messages.length);
|
|
3080
3084
|
const cached2 = getSessionCachedPrompt(originalSessionId);
|
|
3081
3085
|
if (cached2) {
|
|
3082
|
-
updateSessionCachedPrompt(newSession.id, cached2.systemPrompt, cached2.tools, cached2.hash);
|
|
3086
|
+
updateSessionCachedPrompt(newSession.id, cached2.systemPrompt, cached2.tools, cached2.hash, cached2.promptHash);
|
|
3083
3087
|
this.markWarmedUp(newSession.id);
|
|
3084
3088
|
}
|
|
3085
3089
|
this.emit({ type: "session_updated", session: this.requireSession(newSession.id) });
|
|
@@ -3149,6 +3153,8 @@ var SessionManager = class {
|
|
|
3149
3153
|
eventStore.deleteSession(id);
|
|
3150
3154
|
this.messageQueues.delete(id);
|
|
3151
3155
|
this.warmedUpSessions.delete(id);
|
|
3156
|
+
this.announcedPromptHashStore.delete(id);
|
|
3157
|
+
this.announcedToolFingerprintStore.delete(id);
|
|
3152
3158
|
deleteSession(id);
|
|
3153
3159
|
if (this.activeSessionId === id) {
|
|
3154
3160
|
this.activeSessionId = null;
|
|
@@ -3871,8 +3877,8 @@ var SessionManager = class {
|
|
|
3871
3877
|
resetWarmup(sessionId) {
|
|
3872
3878
|
this.warmedUpSessions.delete(sessionId);
|
|
3873
3879
|
}
|
|
3874
|
-
setCachedPrompt(sessionId, systemPrompt, tools, hash) {
|
|
3875
|
-
updateSessionCachedPrompt(sessionId, systemPrompt, tools, hash);
|
|
3880
|
+
setCachedPrompt(sessionId, systemPrompt, tools, hash, promptHash) {
|
|
3881
|
+
updateSessionCachedPrompt(sessionId, systemPrompt, tools, hash, promptHash);
|
|
3876
3882
|
this.resetWarmup(sessionId);
|
|
3877
3883
|
}
|
|
3878
3884
|
getCachedPrompt(sessionId) {
|
|
@@ -3901,6 +3907,17 @@ var SessionManager = class {
|
|
|
3901
3907
|
setAnnouncedPromptHash(sessionId, hash) {
|
|
3902
3908
|
this.announcedPromptHashStore.set(sessionId, hash);
|
|
3903
3909
|
}
|
|
3910
|
+
/**
|
|
3911
|
+
* The tool fingerprint last announced to the model via a tool-change
|
|
3912
|
+
* reminder. Drives exactly-once tool-drift reminders WITHOUT mutating the
|
|
3913
|
+
* cached prefix (the cached tools stay frozen until a manual rebase).
|
|
3914
|
+
*/
|
|
3915
|
+
getAnnouncedToolFingerprint(sessionId) {
|
|
3916
|
+
return this.announcedToolFingerprintStore.get(sessionId);
|
|
3917
|
+
}
|
|
3918
|
+
setAnnouncedToolFingerprint(sessionId, fingerprint) {
|
|
3919
|
+
this.announcedToolFingerprintStore.set(sessionId, fingerprint);
|
|
3920
|
+
}
|
|
3904
3921
|
/**
|
|
3905
3922
|
* @deprecated Use addTokensUsed instead
|
|
3906
3923
|
*/
|
|
@@ -6787,7 +6804,7 @@ function detectWsl() {
|
|
|
6787
6804
|
// src/server/index.ts
|
|
6788
6805
|
var __dirname3 = dirname7(fileURLToPath6(import.meta.url));
|
|
6789
6806
|
async function announceContextDrift(sessionManager, sessionIds) {
|
|
6790
|
-
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-
|
|
6807
|
+
const { injectContextDriftRemindersForSessions } = await import("./dynamic-context-NJZKAZE3.js");
|
|
6791
6808
|
await injectContextDriftRemindersForSessions(sessionManager, sessionIds);
|
|
6792
6809
|
}
|
|
6793
6810
|
async function createServerHandle(config3) {
|
|
@@ -6894,7 +6911,7 @@ async function createServerHandle(config3) {
|
|
|
6894
6911
|
toolRegistry = createToolRegistry();
|
|
6895
6912
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
6896
6913
|
}
|
|
6897
|
-
const { signalMcpReady } = await import("./server-
|
|
6914
|
+
const { signalMcpReady } = await import("./server-WPWUYB6I.js");
|
|
6898
6915
|
signalMcpReady();
|
|
6899
6916
|
});
|
|
6900
6917
|
const app = express();
|
|
@@ -6996,7 +7013,7 @@ async function createServerHandle(config3) {
|
|
|
6996
7013
|
res.json({ tools });
|
|
6997
7014
|
});
|
|
6998
7015
|
app.get("/api/projects", async (_req, res) => {
|
|
6999
|
-
const { listProjects: listProjects2 } = await import("./projects-
|
|
7016
|
+
const { listProjects: listProjects2 } = await import("./projects-5U37RUTL.js");
|
|
7000
7017
|
const projects = listProjects2();
|
|
7001
7018
|
res.json({ projects });
|
|
7002
7019
|
});
|
|
@@ -7005,7 +7022,7 @@ async function createServerHandle(config3) {
|
|
|
7005
7022
|
if (!name || !workdir) {
|
|
7006
7023
|
return res.status(400).json({ error: "name and workdir are required" });
|
|
7007
7024
|
}
|
|
7008
|
-
const { createDirectoryWithGit } = await import("./project-creator-
|
|
7025
|
+
const { createDirectoryWithGit } = await import("./project-creator-6AGQTNXB.js");
|
|
7009
7026
|
try {
|
|
7010
7027
|
const project = await createDirectoryWithGit(name, workdir);
|
|
7011
7028
|
res.status(201).json({ project });
|
|
@@ -7050,7 +7067,7 @@ async function createServerHandle(config3) {
|
|
|
7050
7067
|
}
|
|
7051
7068
|
});
|
|
7052
7069
|
app.get("/api/projects/:id", async (req, res) => {
|
|
7053
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7070
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7054
7071
|
const project = getProject2(req.params.id);
|
|
7055
7072
|
if (!project) {
|
|
7056
7073
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7058,7 +7075,7 @@ async function createServerHandle(config3) {
|
|
|
7058
7075
|
res.json({ project });
|
|
7059
7076
|
});
|
|
7060
7077
|
app.get("/api/projects/:id/open-folder", async (req, res) => {
|
|
7061
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7078
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7062
7079
|
const project = getProject2(req.params.id);
|
|
7063
7080
|
if (!project) {
|
|
7064
7081
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7072,7 +7089,7 @@ async function createServerHandle(config3) {
|
|
|
7072
7089
|
}
|
|
7073
7090
|
});
|
|
7074
7091
|
app.put("/api/projects/:id", async (req, res) => {
|
|
7075
|
-
const { updateProject: updateProject2 } = await import("./projects-
|
|
7092
|
+
const { updateProject: updateProject2 } = await import("./projects-5U37RUTL.js");
|
|
7076
7093
|
const { name, customInstructions, dangerLevel, defaultAgent } = req.body;
|
|
7077
7094
|
const updates = {};
|
|
7078
7095
|
if (name !== void 0) updates.name = name;
|
|
@@ -7086,7 +7103,7 @@ async function createServerHandle(config3) {
|
|
|
7086
7103
|
res.json({ project: updated });
|
|
7087
7104
|
});
|
|
7088
7105
|
app.delete("/api/projects/:id", async (req, res) => {
|
|
7089
|
-
const { getProject: getProject2, deleteProject: deleteProject2 } = await import("./projects-
|
|
7106
|
+
const { getProject: getProject2, deleteProject: deleteProject2 } = await import("./projects-5U37RUTL.js");
|
|
7090
7107
|
const project = getProject2(req.params.id);
|
|
7091
7108
|
if (!project) {
|
|
7092
7109
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -7095,7 +7112,7 @@ async function createServerHandle(config3) {
|
|
|
7095
7112
|
res.json({ success: true });
|
|
7096
7113
|
});
|
|
7097
7114
|
app.put("/api/projects/:id/star", async (req, res) => {
|
|
7098
|
-
const { toggleStar } = await import("./projects-
|
|
7115
|
+
const { toggleStar } = await import("./projects-5U37RUTL.js");
|
|
7099
7116
|
const { isStarred } = req.body;
|
|
7100
7117
|
if (typeof isStarred !== "boolean") {
|
|
7101
7118
|
return res.status(400).json({ error: "isStarred is required and must be a boolean" });
|
|
@@ -7109,9 +7126,9 @@ async function createServerHandle(config3) {
|
|
|
7109
7126
|
const sessionFavoriteRouter = express.Router();
|
|
7110
7127
|
registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
|
|
7111
7128
|
app.use("/api", sessionFavoriteRouter);
|
|
7112
|
-
const { createTasksService } = await import("./service-
|
|
7113
|
-
const { registerTaskRoutes } = await import("./tasks-
|
|
7114
|
-
const { setTasksService } = await import("./tools-
|
|
7129
|
+
const { createTasksService } = await import("./service-O3LCO3TQ.js");
|
|
7130
|
+
const { registerTaskRoutes } = await import("./tasks-WOC3QUFA.js");
|
|
7131
|
+
const { setTasksService } = await import("./tools-CW6POKUL.js");
|
|
7115
7132
|
const tasksService = createTasksService({
|
|
7116
7133
|
sessionManager,
|
|
7117
7134
|
config: config3,
|
|
@@ -7124,26 +7141,26 @@ async function createServerHandle(config3) {
|
|
|
7124
7141
|
registerTaskRoutes(tasksRouter, tasksService);
|
|
7125
7142
|
app.use("/api", tasksRouter);
|
|
7126
7143
|
app.get("/api/projects/:id/branches", async (req, res) => {
|
|
7127
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7144
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7128
7145
|
const project = getProject2(req.params.id);
|
|
7129
7146
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7130
|
-
const { listBranches } = await import("./workspace-
|
|
7147
|
+
const { listBranches } = await import("./workspace-LM646OHC.js");
|
|
7131
7148
|
const branches = await listBranches(project.workdir);
|
|
7132
7149
|
res.json({ branches });
|
|
7133
7150
|
});
|
|
7134
7151
|
app.post("/api/projects/:id/checkout", async (req, res) => {
|
|
7135
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7152
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7136
7153
|
const project = getProject2(req.params.id);
|
|
7137
7154
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7138
7155
|
const { branch } = req.body;
|
|
7139
7156
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
7140
|
-
const { checkoutBranch, isGitRepository } = await import("./workspace-
|
|
7157
|
+
const { checkoutBranch, isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7141
7158
|
if (!await isGitRepository(project.workdir)) {
|
|
7142
7159
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7143
7160
|
}
|
|
7144
7161
|
try {
|
|
7145
7162
|
await checkoutBranch(project.workdir, branch);
|
|
7146
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7163
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7147
7164
|
const allSessions = sessionManager.listSessions();
|
|
7148
7165
|
for (const s of allSessions) {
|
|
7149
7166
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -7157,12 +7174,12 @@ async function createServerHandle(config3) {
|
|
|
7157
7174
|
}
|
|
7158
7175
|
});
|
|
7159
7176
|
app.post("/api/projects/:id/checkout-new", async (req, res) => {
|
|
7160
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7177
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7161
7178
|
const project = getProject2(req.params.id);
|
|
7162
7179
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7163
7180
|
const { name, sourceBranch } = req.body;
|
|
7164
7181
|
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-
|
|
7182
|
+
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7166
7183
|
if (!await isGitRepository(project.workdir)) {
|
|
7167
7184
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7168
7185
|
}
|
|
@@ -7179,7 +7196,7 @@ async function createServerHandle(config3) {
|
|
|
7179
7196
|
);
|
|
7180
7197
|
}
|
|
7181
7198
|
await createBranch(project.workdir, name, sb);
|
|
7182
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7199
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7183
7200
|
const allSessions = sessionManager.listSessions();
|
|
7184
7201
|
for (const s of allSessions) {
|
|
7185
7202
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -7196,7 +7213,7 @@ async function createServerHandle(config3) {
|
|
|
7196
7213
|
const session = sessionManager.getSession(req.params.id);
|
|
7197
7214
|
if (!session) return res.status(404).json({ error: "Session not found" });
|
|
7198
7215
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7199
|
-
const { listBranches, getDefaultBranch } = await import("./workspace-
|
|
7216
|
+
const { listBranches, getDefaultBranch } = await import("./workspace-LM646OHC.js");
|
|
7200
7217
|
const [branches, defaultBranch] = await Promise.all([
|
|
7201
7218
|
listBranches(effectiveWorkdir),
|
|
7202
7219
|
getDefaultBranch(session.workdir)
|
|
@@ -7210,8 +7227,8 @@ async function createServerHandle(config3) {
|
|
|
7210
7227
|
const { branch } = req.body;
|
|
7211
7228
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
7212
7229
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7213
|
-
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-
|
|
7214
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7230
|
+
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-LM646OHC.js");
|
|
7231
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7215
7232
|
try {
|
|
7216
7233
|
await validateRef2(effectiveWorkdir, branch);
|
|
7217
7234
|
await checkoutBranch(effectiveWorkdir, branch);
|
|
@@ -7253,16 +7270,16 @@ All file and git operations should use this branch.
|
|
|
7253
7270
|
const { name, sourceBranch } = req.body;
|
|
7254
7271
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
7255
7272
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
7256
|
-
const { validateRef: validateRef2 } = await import("./workspace-
|
|
7257
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
7273
|
+
const { validateRef: validateRef2 } = await import("./workspace-LM646OHC.js");
|
|
7274
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-NMPX5ICI.js");
|
|
7258
7275
|
try {
|
|
7259
7276
|
await validateRef2(effectiveWorkdir, name);
|
|
7260
7277
|
if (sourceBranch) {
|
|
7261
|
-
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-
|
|
7278
|
+
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-LM646OHC.js");
|
|
7262
7279
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, sourceBranch, session.workdir);
|
|
7263
7280
|
await createBranch(effectiveWorkdir, name, sb);
|
|
7264
7281
|
} else {
|
|
7265
|
-
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-
|
|
7282
|
+
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-LM646OHC.js");
|
|
7266
7283
|
const defaultBranch = await getDefaultBranch(session.workdir);
|
|
7267
7284
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, defaultBranch, session.workdir);
|
|
7268
7285
|
await createBranch(effectiveWorkdir, name, sb);
|
|
@@ -7300,17 +7317,17 @@ All file and git operations should use this branch.
|
|
|
7300
7317
|
}
|
|
7301
7318
|
});
|
|
7302
7319
|
app.get("/api/projects/:id/workspaces", async (req, res) => {
|
|
7303
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
7320
|
+
const { getProject: getProject2 } = await import("./projects-5U37RUTL.js");
|
|
7304
7321
|
const project = getProject2(req.params.id);
|
|
7305
7322
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7306
|
-
const { listWorkspaces } = await import("./workspace-
|
|
7323
|
+
const { listWorkspaces } = await import("./workspace-LM646OHC.js");
|
|
7307
7324
|
const all = await listWorkspaces(project.name, project.workdir);
|
|
7308
7325
|
const workspacesList = all.filter((ws) => ws.path !== project.workdir);
|
|
7309
7326
|
res.json({ workspaces: workspacesList });
|
|
7310
7327
|
});
|
|
7311
7328
|
app.get("/api/sessions", async (req, res) => {
|
|
7312
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
7313
|
-
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-
|
|
7329
|
+
const { getRecentUserPromptsForSession } = await import("./events-ZJPRGVL2.js");
|
|
7330
|
+
const { getPendingConfirmationsBySession: getPendingConfirmationsBySession2 } = await import("./path-security-CBACXAMS.js");
|
|
7314
7331
|
const projectId = req.query["projectId"];
|
|
7315
7332
|
const rawLimit = req.query["limit"];
|
|
7316
7333
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -7365,7 +7382,7 @@ All file and git operations should use this branch.
|
|
|
7365
7382
|
disabledServers = mcpManager.getAllServers().filter((s) => s.config.disabled).map((s) => s.name);
|
|
7366
7383
|
}
|
|
7367
7384
|
if (disabledServers.length > 0) {
|
|
7368
|
-
const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-
|
|
7385
|
+
const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-OECQYRDK.js");
|
|
7369
7386
|
setSessionDisabledServers2(session.id, disabledServers);
|
|
7370
7387
|
}
|
|
7371
7388
|
} catch {
|
|
@@ -7402,7 +7419,7 @@ All file and git operations should use this branch.
|
|
|
7402
7419
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
7403
7420
|
const project = sessionManager.getProject(session.projectId);
|
|
7404
7421
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7405
|
-
const { isGitRepository } = await import("./workspace-
|
|
7422
|
+
const { isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7406
7423
|
if (!await isGitRepository(project.workdir)) {
|
|
7407
7424
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7408
7425
|
}
|
|
@@ -7420,7 +7437,7 @@ All file and git operations should use this branch.
|
|
|
7420
7437
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
7421
7438
|
const project = sessionManager.getProject(session.projectId);
|
|
7422
7439
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
7423
|
-
const { isGitRepository } = await import("./workspace-
|
|
7440
|
+
const { isGitRepository } = await import("./workspace-LM646OHC.js");
|
|
7424
7441
|
if (!await isGitRepository(project.workdir)) {
|
|
7425
7442
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
7426
7443
|
}
|
|
@@ -7438,10 +7455,10 @@ All file and git operations should use this branch.
|
|
|
7438
7455
|
}
|
|
7439
7456
|
});
|
|
7440
7457
|
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-
|
|
7458
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZJPRGVL2.js");
|
|
7459
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
|
|
7460
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CW6POKUL.js");
|
|
7461
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7445
7462
|
const session = sessionManager.getSession(req.params.id);
|
|
7446
7463
|
if (!session) {
|
|
7447
7464
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -7469,9 +7486,9 @@ All file and git operations should use this branch.
|
|
|
7469
7486
|
});
|
|
7470
7487
|
app.get("/api/sessions/:id/status", async (req, res) => {
|
|
7471
7488
|
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-
|
|
7489
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CW6POKUL.js");
|
|
7490
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEventsWithSnapshot2 } = await import("./events-ZJPRGVL2.js");
|
|
7491
|
+
const { foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
|
|
7475
7492
|
const sessionId = req.params["id"];
|
|
7476
7493
|
if (!sessionId) {
|
|
7477
7494
|
return res.status(400).json({ error: "Session id is required" });
|
|
@@ -7501,8 +7518,8 @@ All file and git operations should use this branch.
|
|
|
7501
7518
|
if (!session) {
|
|
7502
7519
|
return res.status(404).json({ error: "Session not found" });
|
|
7503
7520
|
}
|
|
7504
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7505
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7521
|
+
const { stopSessionExecution } = await import("./chat-handler-T47GATL5.js");
|
|
7522
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CW6POKUL.js");
|
|
7506
7523
|
sessionManager.clearMessageQueue(sessionId);
|
|
7507
7524
|
stopSessionExecution(sessionId, sessionManager);
|
|
7508
7525
|
abortSession(sessionId);
|
|
@@ -7531,9 +7548,9 @@ All file and git operations should use this branch.
|
|
|
7531
7548
|
res.json({ success: true });
|
|
7532
7549
|
});
|
|
7533
7550
|
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-
|
|
7551
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ZJPRGVL2.js");
|
|
7552
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7553
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7537
7554
|
const sessionId = req.params.id;
|
|
7538
7555
|
const session = sessionManager.getSession(sessionId);
|
|
7539
7556
|
if (!session) {
|
|
@@ -7561,9 +7578,9 @@ All file and git operations should use this branch.
|
|
|
7561
7578
|
res.json({ session: toClientSession(updatedSession), messages, hiddenCount, contextState });
|
|
7562
7579
|
});
|
|
7563
7580
|
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-
|
|
7581
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ZJPRGVL2.js");
|
|
7582
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7583
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7567
7584
|
const sessionId = req.params.id;
|
|
7568
7585
|
const session = sessionManager.getSession(sessionId);
|
|
7569
7586
|
if (!session) {
|
|
@@ -7693,9 +7710,9 @@ All file and git operations should use this branch.
|
|
|
7693
7710
|
res.json({ success: true });
|
|
7694
7711
|
});
|
|
7695
7712
|
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-
|
|
7713
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-ZJPRGVL2.js");
|
|
7714
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7715
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7699
7716
|
const sessionId = req.params.id;
|
|
7700
7717
|
const session = sessionManager.getSession(sessionId);
|
|
7701
7718
|
if (!session) {
|
|
@@ -7755,7 +7772,7 @@ All file and git operations should use this branch.
|
|
|
7755
7772
|
setSessionDisabledServers(sessionId, disabledServers);
|
|
7756
7773
|
const messages = session.messages ?? [];
|
|
7757
7774
|
if (messages.length === 0) {
|
|
7758
|
-
const { applyDynamicContext } = await import("./dynamic-context-
|
|
7775
|
+
const { applyDynamicContext } = await import("./dynamic-context-NJZKAZE3.js");
|
|
7759
7776
|
const modelName = session.providerModel ?? providerManager.getCurrentModel();
|
|
7760
7777
|
await applyDynamicContext(sessionManager, sessionId, modelName);
|
|
7761
7778
|
} else {
|
|
@@ -7789,7 +7806,7 @@ All file and git operations should use this branch.
|
|
|
7789
7806
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
7790
7807
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
7791
7808
|
}
|
|
7792
|
-
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-
|
|
7809
|
+
const { providePathConfirmation: providePathConfirmation2, getConfirmationSessionId } = await import("./tools-CW6POKUL.js");
|
|
7793
7810
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
7794
7811
|
if (!pendingSessionId) {
|
|
7795
7812
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -7801,11 +7818,11 @@ All file and git operations should use this branch.
|
|
|
7801
7818
|
if (!result.found) {
|
|
7802
7819
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
7803
7820
|
}
|
|
7804
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-
|
|
7805
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-
|
|
7821
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-ZJPRGVL2.js");
|
|
7822
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations } = await import("./folding-QRZOHY2I.js");
|
|
7806
7823
|
const { createSessionStateMessage } = await import("./protocol-Y7MRKRUO.js");
|
|
7807
|
-
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-
|
|
7808
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
7824
|
+
const { getPendingQuestionsForSession: getPendingQuestionsForSession2 } = await import("./tools-CW6POKUL.js");
|
|
7825
|
+
const { getMaxVisibleItems } = await import("./settings-MDCRNQBY.js");
|
|
7809
7826
|
const eventStore = getEventStore2();
|
|
7810
7827
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
7811
7828
|
const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
|
|
@@ -7842,7 +7859,7 @@ All file and git operations should use this branch.
|
|
|
7842
7859
|
if (!skip && typeof answer !== "string") {
|
|
7843
7860
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
7844
7861
|
}
|
|
7845
|
-
const { provideAnswer: provideAnswer2 } = await import("./tools-
|
|
7862
|
+
const { provideAnswer: provideAnswer2 } = await import("./tools-CW6POKUL.js");
|
|
7846
7863
|
const found = provideAnswer2(callId, answer ?? "", skip ?? false);
|
|
7847
7864
|
if (!found) {
|
|
7848
7865
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -7875,7 +7892,7 @@ All file and git operations should use this branch.
|
|
|
7875
7892
|
if (!session) {
|
|
7876
7893
|
return res.status(404).json({ error: "Session not found" });
|
|
7877
7894
|
}
|
|
7878
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
7895
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-MDCRNQBY.js");
|
|
7879
7896
|
if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
|
|
7880
7897
|
return res.json({ success: false, reason: "disabled" });
|
|
7881
7898
|
}
|
|
@@ -7908,7 +7925,7 @@ All file and git operations should use this branch.
|
|
|
7908
7925
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
7909
7926
|
model: llmClient.getModel()
|
|
7910
7927
|
};
|
|
7911
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
7928
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-GX22Y5EM.js");
|
|
7912
7929
|
runAgentTurn(
|
|
7913
7930
|
{
|
|
7914
7931
|
sessionManager,
|
|
@@ -7946,15 +7963,15 @@ All file and git operations should use this branch.
|
|
|
7946
7963
|
if (!session) {
|
|
7947
7964
|
return res.status(404).json({ error: "Session not found" });
|
|
7948
7965
|
}
|
|
7949
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
7950
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
7966
|
+
const { stopSessionExecution } = await import("./chat-handler-T47GATL5.js");
|
|
7967
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CW6POKUL.js");
|
|
7951
7968
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
7952
7969
|
sessionManager.clearMessageQueue(sessionId);
|
|
7953
7970
|
stopSessionExecution(sessionId, sessionManager);
|
|
7954
7971
|
abortSession(sessionId);
|
|
7955
7972
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
7956
7973
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
7957
|
-
const eventStore = (await import("./events-
|
|
7974
|
+
const eventStore = (await import("./events-ZJPRGVL2.js")).getEventStore();
|
|
7958
7975
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
7959
7976
|
res.json({ success: true, queuedMessages });
|
|
7960
7977
|
});
|
|
@@ -7968,7 +7985,7 @@ All file and git operations should use this branch.
|
|
|
7968
7985
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
7969
7986
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
7970
7987
|
}
|
|
7971
|
-
const { truncateSessionMessages } = await import("./events-
|
|
7988
|
+
const { truncateSessionMessages } = await import("./events-ZJPRGVL2.js");
|
|
7972
7989
|
truncateSessionMessages(sessionId, messageIndex);
|
|
7973
7990
|
res.json({ success: true });
|
|
7974
7991
|
});
|
|
@@ -7988,8 +8005,8 @@ All file and git operations should use this branch.
|
|
|
7988
8005
|
if (attachments !== void 0 && !Array.isArray(attachments)) {
|
|
7989
8006
|
return res.status(400).json({ error: "attachments must be an array if provided" });
|
|
7990
8007
|
}
|
|
7991
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
7992
|
-
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-
|
|
8008
|
+
const { getEventStore: getEventStore2 } = await import("./events-ZJPRGVL2.js");
|
|
8009
|
+
const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-QRZOHY2I.js");
|
|
7993
8010
|
const eventStore = getEventStore2();
|
|
7994
8011
|
const events = eventStore.getEvents(sessionId);
|
|
7995
8012
|
const { messages } = buildMessagesFromStoredEvents2(events);
|
|
@@ -8001,7 +8018,7 @@ All file and git operations should use this branch.
|
|
|
8001
8018
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
8002
8019
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
8003
8020
|
}
|
|
8004
|
-
const { truncateSessionMessages } = await import("./events-
|
|
8021
|
+
const { truncateSessionMessages } = await import("./events-ZJPRGVL2.js");
|
|
8005
8022
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
8006
8023
|
sessionManager.queueMessage(
|
|
8007
8024
|
sessionId,
|
|
@@ -8063,7 +8080,7 @@ All file and git operations should use this branch.
|
|
|
8063
8080
|
res.json({ accepted: true });
|
|
8064
8081
|
});
|
|
8065
8082
|
app.get("/api/settings", async (req, res) => {
|
|
8066
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8083
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-MDCRNQBY.js");
|
|
8067
8084
|
const keysParam = req.query["keys"];
|
|
8068
8085
|
if (!keysParam) {
|
|
8069
8086
|
return res.status(400).json({ error: "keys query parameter is required" });
|
|
@@ -8076,19 +8093,19 @@ All file and git operations should use this branch.
|
|
|
8076
8093
|
res.json(result);
|
|
8077
8094
|
});
|
|
8078
8095
|
app.get("/api/settings/:key", async (req, res) => {
|
|
8079
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8096
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-MDCRNQBY.js");
|
|
8080
8097
|
const key = req.params.key;
|
|
8081
8098
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
8082
8099
|
res.json({ key, value });
|
|
8083
8100
|
});
|
|
8084
8101
|
app.get("/api/settings/:key", async (req, res) => {
|
|
8085
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
8102
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-MDCRNQBY.js");
|
|
8086
8103
|
const key = req.params.key;
|
|
8087
8104
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
8088
8105
|
res.json({ key, value });
|
|
8089
8106
|
});
|
|
8090
8107
|
app.put("/api/settings/:key", async (req, res) => {
|
|
8091
|
-
const { setSetting: setSetting2 } = await import("./settings-
|
|
8108
|
+
const { setSetting: setSetting2 } = await import("./settings-MDCRNQBY.js");
|
|
8092
8109
|
const key = req.params.key;
|
|
8093
8110
|
const { value } = req.body;
|
|
8094
8111
|
if (value === void 0) {
|
|
@@ -8115,7 +8132,7 @@ All file and git operations should use this branch.
|
|
|
8115
8132
|
}
|
|
8116
8133
|
});
|
|
8117
8134
|
app.get("/api/tools/shells", async (_req, res) => {
|
|
8118
|
-
const { listAvailableShells } = await import("./platform-
|
|
8135
|
+
const { listAvailableShells } = await import("./platform-5LQXOZO3.js");
|
|
8119
8136
|
res.json({ shells: listAvailableShells() });
|
|
8120
8137
|
});
|
|
8121
8138
|
app.get("/api/config", async (_req, res) => {
|
|
@@ -8208,7 +8225,7 @@ All file and git operations should use this branch.
|
|
|
8208
8225
|
}));
|
|
8209
8226
|
}
|
|
8210
8227
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
8211
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8228
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-MDCRNQBY.js");
|
|
8212
8229
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
8213
8230
|
if (!proxyUrl) {
|
|
8214
8231
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -8300,7 +8317,7 @@ All file and git operations should use this branch.
|
|
|
8300
8317
|
}
|
|
8301
8318
|
});
|
|
8302
8319
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
8303
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
8320
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-MDCRNQBY.js");
|
|
8304
8321
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
8305
8322
|
if (!proxyUrl) {
|
|
8306
8323
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -8327,7 +8344,7 @@ All file and git operations should use this branch.
|
|
|
8327
8344
|
const backend = req.query["backend"];
|
|
8328
8345
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
8329
8346
|
try {
|
|
8330
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
8347
|
+
const { fetchModelsWithContext } = await import("./provider-manager-BO5ZBG3T.js");
|
|
8331
8348
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8332
8349
|
const { getCatalogEntry } = await import("./model-catalog-2PCKTYGW.js");
|
|
8333
8350
|
const models = await fetchModelsWithContext(
|
|
@@ -8402,7 +8419,7 @@ All file and git operations should use this branch.
|
|
|
8402
8419
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-EBCVFYG7.js");
|
|
8403
8420
|
const { getBackendCapabilities } = await import("./backend-NDBY3DAQ.js");
|
|
8404
8421
|
const { buildNonStreamingCreateParams } = await import("./client-pure-FLKP6PTI.js");
|
|
8405
|
-
const { OpenAIHttpClient } = await import("./http-client-
|
|
8422
|
+
const { OpenAIHttpClient } = await import("./http-client-P4XTKAZA.js");
|
|
8406
8423
|
const { ensureVersionPrefix } = await import("./url-utils-C5BM7NF7.js");
|
|
8407
8424
|
const profile = getModelProfile2(model);
|
|
8408
8425
|
const capabilities = getBackendCapabilities(backend || "unknown");
|
|
@@ -8819,7 +8836,7 @@ All file and git operations should use this branch.
|
|
|
8819
8836
|
});
|
|
8820
8837
|
async function rebuildMcpTools() {
|
|
8821
8838
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FJAFLDZA.js");
|
|
8822
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
8839
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-CW6POKUL.js");
|
|
8823
8840
|
const mcpTools = createMcpTools2(mcpManager);
|
|
8824
8841
|
setMcpTools2(mcpTools);
|
|
8825
8842
|
toolRegistry = createToolRegistry();
|
|
@@ -9222,7 +9239,7 @@ All file and git operations should use this branch.
|
|
|
9222
9239
|
res.status(400).json({ error: error instanceof Error ? error.message : String(error) });
|
|
9223
9240
|
}
|
|
9224
9241
|
});
|
|
9225
|
-
const { listProjects } = await import("./projects-
|
|
9242
|
+
const { listProjects } = await import("./projects-5U37RUTL.js");
|
|
9226
9243
|
const allProjects = listProjects();
|
|
9227
9244
|
const projectDir = allProjects.find(
|
|
9228
9245
|
(p) => p.workdir === config3.workdir || config3.workdir && p.workdir.startsWith(config3.workdir + "/")
|
|
@@ -9249,13 +9266,13 @@ All file and git operations should use this branch.
|
|
|
9249
9266
|
})
|
|
9250
9267
|
);
|
|
9251
9268
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
9252
|
-
const { getSessionProcesses } = await import("./manager-
|
|
9269
|
+
const { getSessionProcesses } = await import("./manager-TMBFBCQL.js");
|
|
9253
9270
|
const sessionId = req.params.id;
|
|
9254
9271
|
const processes = getSessionProcesses(sessionId);
|
|
9255
9272
|
res.json({ processes });
|
|
9256
9273
|
});
|
|
9257
9274
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
9258
|
-
const { stopProcess } = await import("./manager-
|
|
9275
|
+
const { stopProcess } = await import("./manager-TMBFBCQL.js");
|
|
9259
9276
|
const sessionId = req.params.id;
|
|
9260
9277
|
const processId = req.params.processId;
|
|
9261
9278
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -9395,7 +9412,7 @@ All file and git operations should use this branch.
|
|
|
9395
9412
|
);
|
|
9396
9413
|
const wss = wssExports.wss;
|
|
9397
9414
|
deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
|
|
9398
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
9415
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-6I5ADTVT.js");
|
|
9399
9416
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
9400
9417
|
const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
|
|
9401
9418
|
let llmClient = getLLMClient();
|
|
@@ -9440,7 +9457,7 @@ All file and git operations should use this branch.
|
|
|
9440
9457
|
const state = sessionManager.getContextState(sessionId);
|
|
9441
9458
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
9442
9459
|
});
|
|
9443
|
-
const { QueueProcessor } = await import("./processor-
|
|
9460
|
+
const { QueueProcessor } = await import("./processor-FMEULCNQ.js");
|
|
9444
9461
|
const queueProcessor = new QueueProcessor({
|
|
9445
9462
|
sessionManager,
|
|
9446
9463
|
providerManager,
|
|
@@ -9465,7 +9482,7 @@ All file and git operations should use this branch.
|
|
|
9465
9482
|
sessionManager,
|
|
9466
9483
|
listProjects: () => listProjects(),
|
|
9467
9484
|
createProject: async (name, workdir) => {
|
|
9468
|
-
const { createDirectoryWithGit } = await import("./project-creator-
|
|
9485
|
+
const { createDirectoryWithGit } = await import("./project-creator-6AGQTNXB.js");
|
|
9469
9486
|
return createDirectoryWithGit(name, workdir);
|
|
9470
9487
|
},
|
|
9471
9488
|
deleteProject: (projectId) => {
|
|
@@ -9482,8 +9499,8 @@ All file and git operations should use this branch.
|
|
|
9482
9499
|
launchWorkflow: (sessionId, launch) => deferTasksLaunchWorkflow(sessionId, launch),
|
|
9483
9500
|
stopSession: (sessionId) => {
|
|
9484
9501
|
void (async () => {
|
|
9485
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
9486
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
9502
|
+
const { stopSessionExecution } = await import("./chat-handler-T47GATL5.js");
|
|
9503
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-CW6POKUL.js");
|
|
9487
9504
|
sessionManager.clearMessageQueue(sessionId);
|
|
9488
9505
|
stopSessionExecution(sessionId, sessionManager);
|
|
9489
9506
|
abortSession(sessionId);
|
|
@@ -9562,7 +9579,7 @@ All file and git operations should use this branch.
|
|
|
9562
9579
|
void (async () => {
|
|
9563
9580
|
await devServerManager.stopAll();
|
|
9564
9581
|
await mcpManager.disconnectAll();
|
|
9565
|
-
const { stopAllInspectProxies } = await import("./inspect-proxy-
|
|
9582
|
+
const { stopAllInspectProxies } = await import("./inspect-proxy-A3OROWPG.js");
|
|
9566
9583
|
stopAllInspectProxies();
|
|
9567
9584
|
const { cleanupAllProcesses } = await import("./store-JYPZ2RXB.js");
|
|
9568
9585
|
cleanupAllProcesses();
|
|
@@ -9604,4 +9621,4 @@ export {
|
|
|
9604
9621
|
createServerHandle,
|
|
9605
9622
|
createServer
|
|
9606
9623
|
};
|
|
9607
|
-
//# sourceMappingURL=chunk-
|
|
9624
|
+
//# sourceMappingURL=chunk-ZSBNXJZ5.js.map
|