openfox 2.0.114 → 2.0.115
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 +21 -0
- package/dist/CHANGELOG.md +21 -0
- package/dist/{chat-handler-KWXRSWXZ.js → chat-handler-5SP265CR.js} +27 -27
- package/dist/{chunk-2XD65L7M.js → chunk-27NABDXB.js} +2 -2
- package/dist/{chunk-YGJIK3CG.js → chunk-2FCLCUVR.js} +5 -5
- package/dist/{chunk-HV6IALXF.js → chunk-37QLXLML.js} +4 -4
- package/dist/{chunk-UTIQ7OO5.js → chunk-3KBRMBTP.js} +2 -2
- package/dist/{chunk-FW4NDUBL.js → chunk-3NPLERPQ.js} +13 -13
- package/dist/{chunk-SFZGMB2G.js → chunk-3PG65AXG.js} +18 -3
- package/dist/{chunk-W77NBJAZ.js → chunk-3QQAIUZI.js} +9 -9
- package/dist/{chunk-PBW3YC3G.js → chunk-5PT4UMRR.js} +5 -1
- package/dist/chunk-5V3BF67X.js +7 -0
- package/dist/{chunk-BZVW77PI.js → chunk-6KPJLELC.js} +3 -3
- package/dist/{chunk-OTYAEEX3.js → chunk-6RGACY4E.js} +7 -7
- package/dist/{chunk-SA34STZ6.js → chunk-AESOGRFK.js} +2 -2
- package/dist/{chunk-MUSPWEBB.js → chunk-BVVCRIVM.js} +3 -3
- package/dist/{chunk-VPVLO436.js → chunk-BWVO5WFK.js} +4 -4
- package/dist/{chunk-JXLRL5JR.js → chunk-ERNWAKUB.js} +7 -7
- package/dist/{chunk-HP5CIB66.js → chunk-HD6Y77RO.js} +2 -2
- package/dist/{chunk-K733B5T2.js → chunk-JFK4GKQD.js} +87 -54
- package/dist/{chunk-LXYPMFTH.js → chunk-JGWHRYWG.js} +3 -3
- package/dist/{chunk-JP7NM545.js → chunk-JLAR2CMV.js} +2 -2
- package/dist/{chunk-UPBWEHIL.js → chunk-LNNBLB6G.js} +20 -5
- package/dist/{chunk-OXSTNSCF.js → chunk-LTYL6ZGH.js} +2 -2
- package/dist/{chunk-P5UANBBX.js → chunk-M6X6AIEG.js} +2 -2
- package/dist/{chunk-SBSUDHL4.js → chunk-O6DU226D.js} +2 -2
- package/dist/{chunk-QD7MRMCH.js → chunk-OCBBAEMT.js} +144 -128
- package/dist/{chunk-L63Q4JQJ.js → chunk-OCSTEGK7.js} +3 -3
- package/dist/{chunk-7GWARYQC.js → chunk-OKVHMKE2.js} +15 -15
- package/dist/{chunk-GUHHUDNL.js → chunk-TFF5T3K3.js} +10 -10
- package/dist/{chunk-NWJLWLKF.js → chunk-TGLVWAFC.js} +10 -10
- package/dist/{chunk-L737Y63F.js → chunk-TOKQ2UVG.js} +2 -2
- package/dist/{chunk-3O77NT4T.js → chunk-VWEATA7R.js} +4 -4
- package/dist/{chunk-NLO64UE3.js → chunk-YX3OQBNX.js} +2 -2
- package/dist/{chunk-TKKP56QK.js → chunk-ZTOG6LJD.js} +3 -3
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-EM7ISGUP.js → client-KE7EDI2D.js} +6 -6
- package/dist/{client-pure-VFZIIK4S.js → client-pure-66Z6FWS6.js} +2 -2
- package/dist/command-defaults/mark-done.command.md +14 -0
- package/dist/{compactor-V3LR7APW.js → compactor-SKVC2VNL.js} +13 -12
- package/dist/{dynamic-context-MVGOF5V2.js → dynamic-context-QNB4ELLP.js} +9 -9
- package/dist/{events-PI7IMPHT.js → events-5PLO4QJU.js} +8 -7
- package/dist/{folding-FO57K4JM.js → folding-CJWYFUKD.js} +6 -5
- package/dist/http-client-KLODRQC2.js +11 -0
- package/dist/{inspect-proxy-NHKQQ2CD.js → inspect-proxy-K6QKEYDT.js} +4 -4
- package/dist/launch-EOXVWLOP.js +52 -0
- package/dist/{manager-66YAEO7K.js → manager-LZ3JQ443.js} +5 -5
- package/dist/{model-overrides-L53PZNZA.js → model-overrides-5UVW3KTE.js} +4 -4
- package/dist/{orchestrator-XK5K3RPL.js → orchestrator-ED3KFPXO.js} +26 -26
- package/dist/package.json +1 -1
- package/dist/{path-security-RSEI3YKB.js → path-security-B6EZC63L.js} +10 -9
- package/dist/{platform-WA4GK5BO.js → platform-6RPPBHKH.js} +4 -4
- package/dist/{processor-WDZSFBVO.js → processor-226ZOTRI.js} +26 -26
- package/dist/{project-creator-676WQXVI.js → project-creator-VBFE35NI.js} +3 -3
- package/dist/{projects-SSBWIYL4.js → projects-AXHZOBR2.js} +5 -3
- package/dist/{protocol-BzHs024-.d.ts → protocol-JdxRpPxM.d.ts} +1 -1
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-PLIWRBCF.js → provider-DL4ZWQY7.js} +7 -7
- package/dist/{provider-manager-2QSJTPWS.js → provider-manager-6CLRMGDE.js} +7 -7
- package/dist/{registry-ZP4TN2IN.js → registry-5XI5NDBF.js} +5 -4
- package/dist/{serve-MZ3BCCWC.js → serve-DARV4NJG.js} +32 -32
- package/dist/server/index.d.ts +12 -5
- package/dist/server/index.js +31 -31
- package/dist/server-LQJ7MBDS.js +55 -0
- package/dist/{service-54PGIPDQ.js → service-4JKTGPRG.js} +9 -9
- package/dist/{session-overrides-LXN6W7SA.js → session-overrides-AZKV6BRD.js} +7 -6
- package/dist/{sessions-CHPVUG6H.js → sessions-752IZIIK.js} +6 -5
- package/dist/{settings-NEBM3GQX.js → settings-2AHDKCD7.js} +3 -3
- package/dist/shared/index.d.ts +3 -3
- package/dist/{tasks-TJXG2V3U.js → tasks-XJXHU623.js} +10 -10
- package/dist/{tools-CIM26IFB.js → tools-QYYNFMGU.js} +24 -24
- package/dist/{types-CbggXFvR.d.ts → types-CIVhQMvD.d.ts} +1 -1
- package/dist/{types-CMtHpDWT.d.ts → types-Df7NM9b5.d.ts} +2 -0
- package/dist/{update-UZBBO42X.js → update-2REP2WB6.js} +2 -2
- package/dist/web/assets/index-M7ToECa4.js +324 -0
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-2XODU4YJ.js → workspace-RMZVTFJD.js} +4 -4
- package/package.json +1 -1
- package/dist/chunk-NCZRWCJN.js +0 -7
- package/dist/http-client-33EZ3BLR.js +0 -11
- package/dist/launch-L5ROVNI3.js +0 -52
- package/dist/server-EPXODFMB.js +0 -55
- package/dist/web/assets/index-rZHXkfMq.js +0 -324
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
terminalManager,
|
|
17
17
|
tokenFromPassword,
|
|
18
18
|
verifyPassword
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OKVHMKE2.js";
|
|
20
20
|
import {
|
|
21
21
|
TEMPLATE_VARIABLES
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-3QQAIUZI.js";
|
|
23
23
|
import {
|
|
24
24
|
createToolRegistry,
|
|
25
25
|
devServerManager,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
setMcpManagerForTools,
|
|
30
30
|
setMcpTools,
|
|
31
31
|
setNotifyMcpServersChanged
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-JFK4GKQD.js";
|
|
33
33
|
import {
|
|
34
34
|
deleteOwnedSkill,
|
|
35
35
|
deleteProjectSkill,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
setSkillEnabled,
|
|
49
49
|
skillExists,
|
|
50
50
|
updateOwnedSkill
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-2FCLCUVR.js";
|
|
52
52
|
import {
|
|
53
53
|
openFolder
|
|
54
54
|
} from "./chunk-WLJJRX22.js";
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
ALWAYS_ALLOWED,
|
|
57
57
|
ALWAYS_ALLOWED_FOR_SUBAGENTS,
|
|
58
58
|
TOP_LEVEL_ONLY_TOOLS
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-27NABDXB.js";
|
|
60
60
|
import {
|
|
61
61
|
createMcpTools
|
|
62
62
|
} from "./chunk-JE7LW7Y6.js";
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
validateRef,
|
|
76
76
|
validateWorkspaceName,
|
|
77
77
|
workspaceExists
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-O6DU226D.js";
|
|
79
79
|
import {
|
|
80
80
|
commandExists,
|
|
81
81
|
deleteCommand,
|
|
@@ -102,11 +102,11 @@ import {
|
|
|
102
102
|
saveWorkflow,
|
|
103
103
|
saveWorkflowToProject,
|
|
104
104
|
workflowExists
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-6RGACY4E.js";
|
|
106
106
|
import {
|
|
107
107
|
getSessionDisabledServers,
|
|
108
108
|
setSessionDisabledServers
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-OCSTEGK7.js";
|
|
110
110
|
import {
|
|
111
111
|
emitAssistantMessageStart,
|
|
112
112
|
emitContextState,
|
|
@@ -123,32 +123,7 @@ import {
|
|
|
123
123
|
getEventStore,
|
|
124
124
|
getSessionState,
|
|
125
125
|
initEventStore
|
|
126
|
-
} from "./chunk-
|
|
127
|
-
import {
|
|
128
|
-
createContextStateMessage,
|
|
129
|
-
toClientSession
|
|
130
|
-
} from "./chunk-I7FY2LTR.js";
|
|
131
|
-
import {
|
|
132
|
-
getPathSeparator,
|
|
133
|
-
isAbsolutePath
|
|
134
|
-
} from "./chunk-SA34STZ6.js";
|
|
135
|
-
import {
|
|
136
|
-
EventEmitter
|
|
137
|
-
} from "./chunk-JURM3RPZ.js";
|
|
138
|
-
import {
|
|
139
|
-
getAgentModelOverride,
|
|
140
|
-
getAgentModelOverrides,
|
|
141
|
-
resolveLLMClientForAgent,
|
|
142
|
-
setAgentModelOverride
|
|
143
|
-
} from "./chunk-JP7NM545.js";
|
|
144
|
-
import {
|
|
145
|
-
getProject,
|
|
146
|
-
getProjectByWorkdir,
|
|
147
|
-
updateProject
|
|
148
|
-
} from "./chunk-SFZGMB2G.js";
|
|
149
|
-
import {
|
|
150
|
-
VERSION
|
|
151
|
-
} from "./chunk-NCZRWCJN.js";
|
|
126
|
+
} from "./chunk-ERNWAKUB.js";
|
|
152
127
|
import {
|
|
153
128
|
clearWorkflowExecution,
|
|
154
129
|
createSession,
|
|
@@ -171,7 +146,27 @@ import {
|
|
|
171
146
|
updateSessionRunning,
|
|
172
147
|
updateSessionWorkdir,
|
|
173
148
|
updateWorkflowExecutionStatus
|
|
174
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-VWEATA7R.js";
|
|
150
|
+
import {
|
|
151
|
+
createContextStateMessage,
|
|
152
|
+
toClientSession
|
|
153
|
+
} from "./chunk-I7FY2LTR.js";
|
|
154
|
+
import {
|
|
155
|
+
getPathSeparator,
|
|
156
|
+
isAbsolutePath
|
|
157
|
+
} from "./chunk-AESOGRFK.js";
|
|
158
|
+
import {
|
|
159
|
+
EventEmitter
|
|
160
|
+
} from "./chunk-JURM3RPZ.js";
|
|
161
|
+
import {
|
|
162
|
+
getAgentModelOverride,
|
|
163
|
+
getAgentModelOverrides,
|
|
164
|
+
resolveLLMClientForAgent,
|
|
165
|
+
setAgentModelOverride
|
|
166
|
+
} from "./chunk-JLAR2CMV.js";
|
|
167
|
+
import {
|
|
168
|
+
VERSION
|
|
169
|
+
} from "./chunk-5V3BF67X.js";
|
|
175
170
|
import {
|
|
176
171
|
agentExists,
|
|
177
172
|
deleteAgent,
|
|
@@ -188,17 +183,22 @@ import {
|
|
|
188
183
|
saveAgent,
|
|
189
184
|
saveAgentToProject,
|
|
190
185
|
setRuntimeConfig
|
|
191
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-LNNBLB6G.js";
|
|
192
187
|
import {
|
|
193
188
|
findFileByInternalId,
|
|
194
189
|
pathExists
|
|
195
190
|
} from "./chunk-OSXPQSLW.js";
|
|
191
|
+
import {
|
|
192
|
+
getProject,
|
|
193
|
+
getProjectByWorkdir,
|
|
194
|
+
updateProject
|
|
195
|
+
} from "./chunk-3PG65AXG.js";
|
|
196
196
|
import {
|
|
197
197
|
createProviderManager,
|
|
198
198
|
detectModel,
|
|
199
199
|
getLlmStatus,
|
|
200
200
|
parseDefaultModelSelection
|
|
201
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-BVVCRIVM.js";
|
|
202
202
|
import {
|
|
203
203
|
getModelProfile
|
|
204
204
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -211,15 +211,15 @@ import {
|
|
|
211
211
|
import {
|
|
212
212
|
SessionNotFoundError,
|
|
213
213
|
WorkspaceInUseError
|
|
214
|
-
} from "./chunk-
|
|
214
|
+
} from "./chunk-LTYL6ZGH.js";
|
|
215
215
|
import {
|
|
216
216
|
deleteSetting,
|
|
217
217
|
getSetting,
|
|
218
218
|
setSetting
|
|
219
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-HD6Y77RO.js";
|
|
220
220
|
import {
|
|
221
221
|
initDatabase
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-5PT4UMRR.js";
|
|
223
223
|
import {
|
|
224
224
|
logger,
|
|
225
225
|
setLogLevel
|
|
@@ -2816,6 +2816,16 @@ var SessionManager = class {
|
|
|
2816
2816
|
const session = this.requireSession(sessionId);
|
|
2817
2817
|
return session.workspace ?? session.workdir;
|
|
2818
2818
|
}
|
|
2819
|
+
/**
|
|
2820
|
+
* Get the project root working directory for a session.
|
|
2821
|
+
* Ignores any active workspace — session.workdir is always the project root,
|
|
2822
|
+
* which is where project-scoped .openfox/ content (agents, skills, commands,
|
|
2823
|
+
* workflows) lives and is managed from.
|
|
2824
|
+
*/
|
|
2825
|
+
getProjectWorkdir(sessionId) {
|
|
2826
|
+
const session = this.requireSession(sessionId);
|
|
2827
|
+
return session.workdir;
|
|
2828
|
+
}
|
|
2819
2829
|
// ============================================================================
|
|
2820
2830
|
// Session Lifecycle
|
|
2821
2831
|
// ============================================================================
|
|
@@ -3587,9 +3597,13 @@ var SessionManager = class {
|
|
|
3587
3597
|
/**
|
|
3588
3598
|
* Record that a file was read.
|
|
3589
3599
|
*/
|
|
3590
|
-
recordFileRead(sessionId, filePath, contentHash) {
|
|
3600
|
+
recordFileRead(sessionId, filePath, contentHash, relPath) {
|
|
3591
3601
|
const cache = this.readFilesCache.get(sessionId) ?? {};
|
|
3592
|
-
cache[filePath] = {
|
|
3602
|
+
cache[filePath] = {
|
|
3603
|
+
hash: contentHash,
|
|
3604
|
+
readAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
3605
|
+
...relPath ? { relPath } : {}
|
|
3606
|
+
};
|
|
3593
3607
|
this.readFilesCache.set(sessionId, cache);
|
|
3594
3608
|
}
|
|
3595
3609
|
/**
|
|
@@ -3601,12 +3615,13 @@ var SessionManager = class {
|
|
|
3601
3615
|
/**
|
|
3602
3616
|
* Update file hash after write.
|
|
3603
3617
|
*/
|
|
3604
|
-
updateFileHash(sessionId, filePath, contentHash) {
|
|
3618
|
+
updateFileHash(sessionId, filePath, contentHash, relPath) {
|
|
3605
3619
|
const cache = this.readFilesCache.get(sessionId) ?? {};
|
|
3606
3620
|
const existingEntry = cache[filePath];
|
|
3607
3621
|
cache[filePath] = {
|
|
3608
3622
|
hash: contentHash,
|
|
3609
|
-
readAt: existingEntry?.readAt ?? (/* @__PURE__ */ new Date()).toISOString()
|
|
3623
|
+
readAt: existingEntry?.readAt ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
3624
|
+
...relPath ? { relPath } : {}
|
|
3610
3625
|
};
|
|
3611
3626
|
this.readFilesCache.set(sessionId, cache);
|
|
3612
3627
|
}
|
|
@@ -5892,7 +5907,7 @@ async function createServerHandle(config3) {
|
|
|
5892
5907
|
toolRegistry = createToolRegistry();
|
|
5893
5908
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
5894
5909
|
}
|
|
5895
|
-
const { signalMcpReady } = await import("./server-
|
|
5910
|
+
const { signalMcpReady } = await import("./server-LQJ7MBDS.js");
|
|
5896
5911
|
signalMcpReady();
|
|
5897
5912
|
});
|
|
5898
5913
|
const app = express();
|
|
@@ -5973,7 +5988,7 @@ async function createServerHandle(config3) {
|
|
|
5973
5988
|
res.json({ tools });
|
|
5974
5989
|
});
|
|
5975
5990
|
app.get("/api/projects", async (_req, res) => {
|
|
5976
|
-
const { listProjects: listProjects2 } = await import("./projects-
|
|
5991
|
+
const { listProjects: listProjects2 } = await import("./projects-AXHZOBR2.js");
|
|
5977
5992
|
const projects = listProjects2();
|
|
5978
5993
|
res.json({ projects });
|
|
5979
5994
|
});
|
|
@@ -5982,7 +5997,7 @@ async function createServerHandle(config3) {
|
|
|
5982
5997
|
if (!name || !workdir) {
|
|
5983
5998
|
return res.status(400).json({ error: "name and workdir are required" });
|
|
5984
5999
|
}
|
|
5985
|
-
const { createDirectoryWithGit } = await import("./project-creator-
|
|
6000
|
+
const { createDirectoryWithGit } = await import("./project-creator-VBFE35NI.js");
|
|
5986
6001
|
try {
|
|
5987
6002
|
const project = await createDirectoryWithGit(name, workdir);
|
|
5988
6003
|
res.status(201).json({ project });
|
|
@@ -6027,7 +6042,7 @@ async function createServerHandle(config3) {
|
|
|
6027
6042
|
}
|
|
6028
6043
|
});
|
|
6029
6044
|
app.get("/api/projects/:id", async (req, res) => {
|
|
6030
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
6045
|
+
const { getProject: getProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6031
6046
|
const project = getProject2(req.params.id);
|
|
6032
6047
|
if (!project) {
|
|
6033
6048
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -6035,7 +6050,7 @@ async function createServerHandle(config3) {
|
|
|
6035
6050
|
res.json({ project });
|
|
6036
6051
|
});
|
|
6037
6052
|
app.get("/api/projects/:id/open-folder", async (req, res) => {
|
|
6038
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
6053
|
+
const { getProject: getProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6039
6054
|
const project = getProject2(req.params.id);
|
|
6040
6055
|
if (!project) {
|
|
6041
6056
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -6049,12 +6064,13 @@ async function createServerHandle(config3) {
|
|
|
6049
6064
|
}
|
|
6050
6065
|
});
|
|
6051
6066
|
app.put("/api/projects/:id", async (req, res) => {
|
|
6052
|
-
const { updateProject: updateProject2 } = await import("./projects-
|
|
6053
|
-
const { name, customInstructions, dangerLevel } = req.body;
|
|
6067
|
+
const { updateProject: updateProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6068
|
+
const { name, customInstructions, dangerLevel, defaultAgent } = req.body;
|
|
6054
6069
|
const updates = {};
|
|
6055
6070
|
if (name !== void 0) updates.name = name;
|
|
6056
6071
|
if (customInstructions !== void 0) updates.customInstructions = customInstructions;
|
|
6057
6072
|
if (dangerLevel !== void 0) updates.dangerLevel = dangerLevel;
|
|
6073
|
+
if (defaultAgent !== void 0) updates.defaultAgent = defaultAgent;
|
|
6058
6074
|
const updated = updateProject2(req.params.id, updates);
|
|
6059
6075
|
if (!updated) {
|
|
6060
6076
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -6062,7 +6078,7 @@ async function createServerHandle(config3) {
|
|
|
6062
6078
|
res.json({ project: updated });
|
|
6063
6079
|
});
|
|
6064
6080
|
app.delete("/api/projects/:id", async (req, res) => {
|
|
6065
|
-
const { getProject: getProject2, deleteProject } = await import("./projects-
|
|
6081
|
+
const { getProject: getProject2, deleteProject } = await import("./projects-AXHZOBR2.js");
|
|
6066
6082
|
const project = getProject2(req.params.id);
|
|
6067
6083
|
if (!project) {
|
|
6068
6084
|
return res.status(404).json({ error: "Project not found" });
|
|
@@ -6071,7 +6087,7 @@ async function createServerHandle(config3) {
|
|
|
6071
6087
|
res.json({ success: true });
|
|
6072
6088
|
});
|
|
6073
6089
|
app.put("/api/projects/:id/star", async (req, res) => {
|
|
6074
|
-
const { toggleStar } = await import("./projects-
|
|
6090
|
+
const { toggleStar } = await import("./projects-AXHZOBR2.js");
|
|
6075
6091
|
const { isStarred } = req.body;
|
|
6076
6092
|
if (typeof isStarred !== "boolean") {
|
|
6077
6093
|
return res.status(400).json({ error: "isStarred is required and must be a boolean" });
|
|
@@ -6085,9 +6101,9 @@ async function createServerHandle(config3) {
|
|
|
6085
6101
|
const sessionFavoriteRouter = express.Router();
|
|
6086
6102
|
registerSessionFavoriteRoute(sessionFavoriteRouter, sessionManager);
|
|
6087
6103
|
app.use("/api", sessionFavoriteRouter);
|
|
6088
|
-
const { createTasksService } = await import("./service-
|
|
6089
|
-
const { registerTaskRoutes } = await import("./tasks-
|
|
6090
|
-
const { setTasksService } = await import("./tools-
|
|
6104
|
+
const { createTasksService } = await import("./service-4JKTGPRG.js");
|
|
6105
|
+
const { registerTaskRoutes } = await import("./tasks-XJXHU623.js");
|
|
6106
|
+
const { setTasksService } = await import("./tools-QYYNFMGU.js");
|
|
6091
6107
|
const tasksService = createTasksService({
|
|
6092
6108
|
sessionManager,
|
|
6093
6109
|
config: config3,
|
|
@@ -6100,26 +6116,26 @@ async function createServerHandle(config3) {
|
|
|
6100
6116
|
registerTaskRoutes(tasksRouter, tasksService);
|
|
6101
6117
|
app.use("/api", tasksRouter);
|
|
6102
6118
|
app.get("/api/projects/:id/branches", async (req, res) => {
|
|
6103
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
6119
|
+
const { getProject: getProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6104
6120
|
const project = getProject2(req.params.id);
|
|
6105
6121
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
6106
|
-
const { listBranches } = await import("./workspace-
|
|
6122
|
+
const { listBranches } = await import("./workspace-RMZVTFJD.js");
|
|
6107
6123
|
const branches = await listBranches(project.workdir);
|
|
6108
6124
|
res.json({ branches });
|
|
6109
6125
|
});
|
|
6110
6126
|
app.post("/api/projects/:id/checkout", async (req, res) => {
|
|
6111
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
6127
|
+
const { getProject: getProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6112
6128
|
const project = getProject2(req.params.id);
|
|
6113
6129
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
6114
6130
|
const { branch } = req.body;
|
|
6115
6131
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
6116
|
-
const { checkoutBranch, isGitRepository } = await import("./workspace-
|
|
6132
|
+
const { checkoutBranch, isGitRepository } = await import("./workspace-RMZVTFJD.js");
|
|
6117
6133
|
if (!await isGitRepository(project.workdir)) {
|
|
6118
6134
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
6119
6135
|
}
|
|
6120
6136
|
try {
|
|
6121
6137
|
await checkoutBranch(project.workdir, branch);
|
|
6122
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
6138
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-752IZIIK.js");
|
|
6123
6139
|
const allSessions = sessionManager.listSessions();
|
|
6124
6140
|
for (const s of allSessions) {
|
|
6125
6141
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -6133,12 +6149,12 @@ async function createServerHandle(config3) {
|
|
|
6133
6149
|
}
|
|
6134
6150
|
});
|
|
6135
6151
|
app.post("/api/projects/:id/checkout-new", async (req, res) => {
|
|
6136
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
6152
|
+
const { getProject: getProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6137
6153
|
const project = getProject2(req.params.id);
|
|
6138
6154
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
6139
6155
|
const { name, sourceBranch } = req.body;
|
|
6140
6156
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
6141
|
-
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-
|
|
6157
|
+
const { createBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, validateRef: validateRef2, getDefaultBranch, isGitRepository } = await import("./workspace-RMZVTFJD.js");
|
|
6142
6158
|
if (!await isGitRepository(project.workdir)) {
|
|
6143
6159
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
6144
6160
|
}
|
|
@@ -6155,7 +6171,7 @@ async function createServerHandle(config3) {
|
|
|
6155
6171
|
);
|
|
6156
6172
|
}
|
|
6157
6173
|
await createBranch(project.workdir, name, sb);
|
|
6158
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
6174
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-752IZIIK.js");
|
|
6159
6175
|
const allSessions = sessionManager.listSessions();
|
|
6160
6176
|
for (const s of allSessions) {
|
|
6161
6177
|
if (sessionManager.getEffectiveWorkdir(s.id) === project.workdir) {
|
|
@@ -6172,7 +6188,7 @@ async function createServerHandle(config3) {
|
|
|
6172
6188
|
const session = sessionManager.getSession(req.params.id);
|
|
6173
6189
|
if (!session) return res.status(404).json({ error: "Session not found" });
|
|
6174
6190
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
6175
|
-
const { listBranches, getDefaultBranch } = await import("./workspace-
|
|
6191
|
+
const { listBranches, getDefaultBranch } = await import("./workspace-RMZVTFJD.js");
|
|
6176
6192
|
const [branches, defaultBranch] = await Promise.all([
|
|
6177
6193
|
listBranches(effectiveWorkdir),
|
|
6178
6194
|
getDefaultBranch(session.workdir)
|
|
@@ -6186,8 +6202,8 @@ async function createServerHandle(config3) {
|
|
|
6186
6202
|
const { branch } = req.body;
|
|
6187
6203
|
if (!branch || typeof branch !== "string") return res.status(400).json({ error: "branch is required" });
|
|
6188
6204
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
6189
|
-
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-
|
|
6190
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
6205
|
+
const { checkoutBranch, validateRef: validateRef2 } = await import("./workspace-RMZVTFJD.js");
|
|
6206
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-752IZIIK.js");
|
|
6191
6207
|
try {
|
|
6192
6208
|
await validateRef2(effectiveWorkdir, branch);
|
|
6193
6209
|
await checkoutBranch(effectiveWorkdir, branch);
|
|
@@ -6229,16 +6245,16 @@ All file and git operations should use this branch.
|
|
|
6229
6245
|
const { name, sourceBranch } = req.body;
|
|
6230
6246
|
if (!name || typeof name !== "string") return res.status(400).json({ error: "name is required" });
|
|
6231
6247
|
const effectiveWorkdir = sessionManager.getEffectiveWorkdir(req.params.id);
|
|
6232
|
-
const { validateRef: validateRef2 } = await import("./workspace-
|
|
6233
|
-
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-
|
|
6248
|
+
const { validateRef: validateRef2 } = await import("./workspace-RMZVTFJD.js");
|
|
6249
|
+
const { updateSessionBranch: updateSessionBranch2 } = await import("./sessions-752IZIIK.js");
|
|
6234
6250
|
try {
|
|
6235
6251
|
await validateRef2(effectiveWorkdir, name);
|
|
6236
6252
|
if (sourceBranch) {
|
|
6237
|
-
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-
|
|
6253
|
+
const { resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2, createBranch } = await import("./workspace-RMZVTFJD.js");
|
|
6238
6254
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, sourceBranch, session.workdir);
|
|
6239
6255
|
await createBranch(effectiveWorkdir, name, sb);
|
|
6240
6256
|
} else {
|
|
6241
|
-
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-
|
|
6257
|
+
const { createBranch, getDefaultBranch, resolveAndValidateSourceBranch: resolveAndValidateSourceBranch2 } = await import("./workspace-RMZVTFJD.js");
|
|
6242
6258
|
const defaultBranch = await getDefaultBranch(session.workdir);
|
|
6243
6259
|
const sb = await resolveAndValidateSourceBranch2(effectiveWorkdir, defaultBranch, session.workdir);
|
|
6244
6260
|
await createBranch(effectiveWorkdir, name, sb);
|
|
@@ -6276,17 +6292,17 @@ All file and git operations should use this branch.
|
|
|
6276
6292
|
}
|
|
6277
6293
|
});
|
|
6278
6294
|
app.get("/api/projects/:id/workspaces", async (req, res) => {
|
|
6279
|
-
const { getProject: getProject2 } = await import("./projects-
|
|
6295
|
+
const { getProject: getProject2 } = await import("./projects-AXHZOBR2.js");
|
|
6280
6296
|
const project = getProject2(req.params.id);
|
|
6281
6297
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
6282
|
-
const { listWorkspaces } = await import("./workspace-
|
|
6298
|
+
const { listWorkspaces } = await import("./workspace-RMZVTFJD.js");
|
|
6283
6299
|
const all = await listWorkspaces(project.name, project.workdir);
|
|
6284
6300
|
const workspacesList = all.filter((ws) => ws.path !== project.workdir);
|
|
6285
6301
|
res.json({ workspaces: workspacesList });
|
|
6286
6302
|
});
|
|
6287
6303
|
app.get("/api/sessions", async (req, res) => {
|
|
6288
|
-
const { getRecentUserPromptsForSession } = await import("./events-
|
|
6289
|
-
const { getPendingConfirmationsBySession } = await import("./path-security-
|
|
6304
|
+
const { getRecentUserPromptsForSession } = await import("./events-5PLO4QJU.js");
|
|
6305
|
+
const { getPendingConfirmationsBySession } = await import("./path-security-B6EZC63L.js");
|
|
6290
6306
|
const projectId = req.query["projectId"];
|
|
6291
6307
|
const rawLimit = req.query["limit"];
|
|
6292
6308
|
const offset = parseInt(req.query["offset"]) || 0;
|
|
@@ -6341,7 +6357,7 @@ All file and git operations should use this branch.
|
|
|
6341
6357
|
disabledServers = mcpManager.getAllServers().filter((s) => s.config.disabled).map((s) => s.name);
|
|
6342
6358
|
}
|
|
6343
6359
|
if (disabledServers.length > 0) {
|
|
6344
|
-
const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-
|
|
6360
|
+
const { setSessionDisabledServers: setSessionDisabledServers2 } = await import("./session-overrides-AZKV6BRD.js");
|
|
6345
6361
|
setSessionDisabledServers2(session.id, disabledServers);
|
|
6346
6362
|
}
|
|
6347
6363
|
} catch {
|
|
@@ -6378,7 +6394,7 @@ All file and git operations should use this branch.
|
|
|
6378
6394
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
6379
6395
|
const project = sessionManager.getProject(session.projectId);
|
|
6380
6396
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
6381
|
-
const { isGitRepository } = await import("./workspace-
|
|
6397
|
+
const { isGitRepository } = await import("./workspace-RMZVTFJD.js");
|
|
6382
6398
|
if (!await isGitRepository(project.workdir)) {
|
|
6383
6399
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
6384
6400
|
}
|
|
@@ -6396,7 +6412,7 @@ All file and git operations should use this branch.
|
|
|
6396
6412
|
if (!target || typeof target !== "string") return res.status(400).json({ error: "target is required" });
|
|
6397
6413
|
const project = sessionManager.getProject(session.projectId);
|
|
6398
6414
|
if (!project) return res.status(404).json({ error: "Project not found" });
|
|
6399
|
-
const { isGitRepository } = await import("./workspace-
|
|
6415
|
+
const { isGitRepository } = await import("./workspace-RMZVTFJD.js");
|
|
6400
6416
|
if (!await isGitRepository(project.workdir)) {
|
|
6401
6417
|
return res.status(400).json({ error: "Project is not a git repository" });
|
|
6402
6418
|
}
|
|
@@ -6414,12 +6430,12 @@ All file and git operations should use this branch.
|
|
|
6414
6430
|
}
|
|
6415
6431
|
});
|
|
6416
6432
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
6417
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-
|
|
6418
|
-
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-
|
|
6419
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
6420
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6421
|
-
const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-
|
|
6422
|
-
const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-
|
|
6433
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-5PLO4QJU.js");
|
|
6434
|
+
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-CJWYFUKD.js");
|
|
6435
|
+
const { getPendingQuestionsForSession } = await import("./tools-QYYNFMGU.js");
|
|
6436
|
+
const { getMaxVisibleItems } = await import("./settings-2AHDKCD7.js");
|
|
6437
|
+
const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-5UVW3KTE.js");
|
|
6438
|
+
const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-752IZIIK.js");
|
|
6423
6439
|
let session = sessionManager.getSession(req.params.id);
|
|
6424
6440
|
if (!session) {
|
|
6425
6441
|
return res.status(404).json({ error: "Session not found" });
|
|
@@ -6458,8 +6474,8 @@ All file and git operations should use this branch.
|
|
|
6458
6474
|
if (!session) {
|
|
6459
6475
|
return res.status(404).json({ error: "Session not found" });
|
|
6460
6476
|
}
|
|
6461
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
6462
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
6477
|
+
const { stopSessionExecution } = await import("./chat-handler-5SP265CR.js");
|
|
6478
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-QYYNFMGU.js");
|
|
6463
6479
|
sessionManager.clearMessageQueue(sessionId);
|
|
6464
6480
|
stopSessionExecution(sessionId, sessionManager);
|
|
6465
6481
|
abortSession(sessionId);
|
|
@@ -6488,9 +6504,9 @@ All file and git operations should use this branch.
|
|
|
6488
6504
|
res.json({ success: true });
|
|
6489
6505
|
});
|
|
6490
6506
|
app.post("/api/sessions/:id/provider", async (req, res) => {
|
|
6491
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
6492
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-
|
|
6493
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6507
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-5PLO4QJU.js");
|
|
6508
|
+
const { buildMessagesFromStoredEvents } = await import("./folding-CJWYFUKD.js");
|
|
6509
|
+
const { getMaxVisibleItems } = await import("./settings-2AHDKCD7.js");
|
|
6494
6510
|
const sessionId = req.params.id;
|
|
6495
6511
|
const session = sessionManager.getSession(sessionId);
|
|
6496
6512
|
if (!session) {
|
|
@@ -6603,11 +6619,11 @@ All file and git operations should use this branch.
|
|
|
6603
6619
|
res.json({ success: true });
|
|
6604
6620
|
});
|
|
6605
6621
|
app.put("/api/sessions/:id/mode", async (req, res) => {
|
|
6606
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-
|
|
6607
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-
|
|
6608
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6609
|
-
const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-
|
|
6610
|
-
const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-
|
|
6622
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEv } = await import("./events-5PLO4QJU.js");
|
|
6623
|
+
const { buildMessagesFromStoredEvents } = await import("./folding-CJWYFUKD.js");
|
|
6624
|
+
const { getMaxVisibleItems } = await import("./settings-2AHDKCD7.js");
|
|
6625
|
+
const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-5UVW3KTE.js");
|
|
6626
|
+
const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-752IZIIK.js");
|
|
6611
6627
|
const sessionId = req.params.id;
|
|
6612
6628
|
const session = sessionManager.getSession(sessionId);
|
|
6613
6629
|
if (!session) {
|
|
@@ -6617,7 +6633,7 @@ All file and git operations should use this branch.
|
|
|
6617
6633
|
if (!mode) {
|
|
6618
6634
|
return res.status(400).json({ error: "mode is required" });
|
|
6619
6635
|
}
|
|
6620
|
-
const allAgents = await loadAllAgentsDefault();
|
|
6636
|
+
const allAgents = await loadAllAgentsDefault(sessionManager.getProjectWorkdir(sessionId));
|
|
6621
6637
|
const topLevelIds = getTopLevelAgents(allAgents).map((a) => a.metadata.id);
|
|
6622
6638
|
if (!topLevelIds.includes(mode)) {
|
|
6623
6639
|
return res.status(400).json({ error: `Invalid mode. Must be one of: ${topLevelIds.join(", ")}` });
|
|
@@ -6709,7 +6725,7 @@ All file and git operations should use this branch.
|
|
|
6709
6725
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
6710
6726
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
6711
6727
|
}
|
|
6712
|
-
const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-
|
|
6728
|
+
const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-QYYNFMGU.js");
|
|
6713
6729
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
6714
6730
|
if (!pendingSessionId) {
|
|
6715
6731
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -6721,11 +6737,11 @@ All file and git operations should use this branch.
|
|
|
6721
6737
|
if (!result.found) {
|
|
6722
6738
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
6723
6739
|
}
|
|
6724
|
-
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-
|
|
6725
|
-
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-
|
|
6740
|
+
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-5PLO4QJU.js");
|
|
6741
|
+
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-CJWYFUKD.js");
|
|
6726
6742
|
const { createSessionStateMessage } = await import("./protocol-RKSWKNXI.js");
|
|
6727
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
6728
|
-
const { getMaxVisibleItems } = await import("./settings-
|
|
6743
|
+
const { getPendingQuestionsForSession } = await import("./tools-QYYNFMGU.js");
|
|
6744
|
+
const { getMaxVisibleItems } = await import("./settings-2AHDKCD7.js");
|
|
6729
6745
|
const eventStore = getEventStore2();
|
|
6730
6746
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
6731
6747
|
const events = combineEvents(sessionId, snapshot, eventsSinceSnapshot);
|
|
@@ -6761,7 +6777,7 @@ All file and git operations should use this branch.
|
|
|
6761
6777
|
if (!skip && typeof answer !== "string") {
|
|
6762
6778
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
6763
6779
|
}
|
|
6764
|
-
const { provideAnswer } = await import("./tools-
|
|
6780
|
+
const { provideAnswer } = await import("./tools-QYYNFMGU.js");
|
|
6765
6781
|
const found = provideAnswer(callId, answer ?? "", skip ?? false);
|
|
6766
6782
|
if (!found) {
|
|
6767
6783
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -6794,7 +6810,7 @@ All file and git operations should use this branch.
|
|
|
6794
6810
|
if (!session) {
|
|
6795
6811
|
return res.status(404).json({ error: "Session not found" });
|
|
6796
6812
|
}
|
|
6797
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
6813
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-2AHDKCD7.js");
|
|
6798
6814
|
if (getSetting2(SETTINGS_KEYS.CACHE_WARMING) !== "true") {
|
|
6799
6815
|
return res.json({ success: false, reason: "disabled" });
|
|
6800
6816
|
}
|
|
@@ -6826,7 +6842,7 @@ All file and git operations should use this branch.
|
|
|
6826
6842
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
6827
6843
|
model: llmClient.getModel()
|
|
6828
6844
|
};
|
|
6829
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
6845
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-ED3KFPXO.js");
|
|
6830
6846
|
runAgentTurn(
|
|
6831
6847
|
{
|
|
6832
6848
|
sessionManager,
|
|
@@ -6864,15 +6880,15 @@ All file and git operations should use this branch.
|
|
|
6864
6880
|
if (!session) {
|
|
6865
6881
|
return res.status(404).json({ error: "Session not found" });
|
|
6866
6882
|
}
|
|
6867
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
6868
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
6883
|
+
const { stopSessionExecution } = await import("./chat-handler-5SP265CR.js");
|
|
6884
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-QYYNFMGU.js");
|
|
6869
6885
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
6870
6886
|
sessionManager.clearMessageQueue(sessionId);
|
|
6871
6887
|
stopSessionExecution(sessionId, sessionManager);
|
|
6872
6888
|
abortSession(sessionId);
|
|
6873
6889
|
cancelQuestionsForSession(sessionId, "Session stopped by user");
|
|
6874
6890
|
cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
|
|
6875
|
-
const eventStore = (await import("./events-
|
|
6891
|
+
const eventStore = (await import("./events-5PLO4QJU.js")).getEventStore();
|
|
6876
6892
|
eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
|
|
6877
6893
|
res.json({ success: true, queuedMessages });
|
|
6878
6894
|
});
|
|
@@ -6886,7 +6902,7 @@ All file and git operations should use this branch.
|
|
|
6886
6902
|
if (typeof messageIndex !== "number" || messageIndex < 0) {
|
|
6887
6903
|
return res.status(400).json({ error: "messageIndex must be a non-negative number" });
|
|
6888
6904
|
}
|
|
6889
|
-
const { truncateSessionMessages } = await import("./events-
|
|
6905
|
+
const { truncateSessionMessages } = await import("./events-5PLO4QJU.js");
|
|
6890
6906
|
truncateSessionMessages(sessionId, messageIndex);
|
|
6891
6907
|
res.json({ success: true });
|
|
6892
6908
|
});
|
|
@@ -6906,8 +6922,8 @@ All file and git operations should use this branch.
|
|
|
6906
6922
|
if (attachments !== void 0 && !Array.isArray(attachments)) {
|
|
6907
6923
|
return res.status(400).json({ error: "attachments must be an array if provided" });
|
|
6908
6924
|
}
|
|
6909
|
-
const { getEventStore: getEventStore2 } = await import("./events-
|
|
6910
|
-
const { buildMessagesFromStoredEvents } = await import("./folding-
|
|
6925
|
+
const { getEventStore: getEventStore2 } = await import("./events-5PLO4QJU.js");
|
|
6926
|
+
const { buildMessagesFromStoredEvents } = await import("./folding-CJWYFUKD.js");
|
|
6911
6927
|
const eventStore = getEventStore2();
|
|
6912
6928
|
const events = eventStore.getEvents(sessionId);
|
|
6913
6929
|
const { messages } = buildMessagesFromStoredEvents(events);
|
|
@@ -6919,7 +6935,7 @@ All file and git operations should use this branch.
|
|
|
6919
6935
|
if (msg.role !== "user" || msg.isSystemGenerated) {
|
|
6920
6936
|
return res.status(400).json({ error: "Can only replay user messages" });
|
|
6921
6937
|
}
|
|
6922
|
-
const { truncateSessionMessages } = await import("./events-
|
|
6938
|
+
const { truncateSessionMessages } = await import("./events-5PLO4QJU.js");
|
|
6923
6939
|
truncateSessionMessages(sessionId, msgIndex - 1);
|
|
6924
6940
|
sessionManager.queueMessage(
|
|
6925
6941
|
sessionId,
|
|
@@ -6981,7 +6997,7 @@ All file and git operations should use this branch.
|
|
|
6981
6997
|
res.json({ accepted: true });
|
|
6982
6998
|
});
|
|
6983
6999
|
app.get("/api/settings", async (req, res) => {
|
|
6984
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
7000
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-2AHDKCD7.js");
|
|
6985
7001
|
const keysParam = req.query["keys"];
|
|
6986
7002
|
if (!keysParam) {
|
|
6987
7003
|
return res.status(400).json({ error: "keys query parameter is required" });
|
|
@@ -6994,19 +7010,19 @@ All file and git operations should use this branch.
|
|
|
6994
7010
|
res.json(result);
|
|
6995
7011
|
});
|
|
6996
7012
|
app.get("/api/settings/:key", async (req, res) => {
|
|
6997
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
7013
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-2AHDKCD7.js");
|
|
6998
7014
|
const key = req.params.key;
|
|
6999
7015
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
7000
7016
|
res.json({ key, value });
|
|
7001
7017
|
});
|
|
7002
7018
|
app.get("/api/settings/:key", async (req, res) => {
|
|
7003
|
-
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-
|
|
7019
|
+
const { getSetting: getSetting2, SETTINGS_DEFAULTS } = await import("./settings-2AHDKCD7.js");
|
|
7004
7020
|
const key = req.params.key;
|
|
7005
7021
|
const value = getSetting2(key) ?? SETTINGS_DEFAULTS[key] ?? null;
|
|
7006
7022
|
res.json({ key, value });
|
|
7007
7023
|
});
|
|
7008
7024
|
app.put("/api/settings/:key", async (req, res) => {
|
|
7009
|
-
const { setSetting: setSetting2 } = await import("./settings-
|
|
7025
|
+
const { setSetting: setSetting2 } = await import("./settings-2AHDKCD7.js");
|
|
7010
7026
|
const key = req.params.key;
|
|
7011
7027
|
const { value } = req.body;
|
|
7012
7028
|
if (value === void 0) {
|
|
@@ -7033,7 +7049,7 @@ All file and git operations should use this branch.
|
|
|
7033
7049
|
}
|
|
7034
7050
|
});
|
|
7035
7051
|
app.get("/api/tools/shells", async (_req, res) => {
|
|
7036
|
-
const { listAvailableShells } = await import("./platform-
|
|
7052
|
+
const { listAvailableShells } = await import("./platform-6RPPBHKH.js");
|
|
7037
7053
|
res.json({ shells: listAvailableShells() });
|
|
7038
7054
|
});
|
|
7039
7055
|
app.get("/api/config", async (_req, res) => {
|
|
@@ -7123,7 +7139,7 @@ All file and git operations should use this branch.
|
|
|
7123
7139
|
}));
|
|
7124
7140
|
}
|
|
7125
7141
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
7126
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
7142
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-2AHDKCD7.js");
|
|
7127
7143
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
7128
7144
|
if (!proxyUrl) {
|
|
7129
7145
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -7215,7 +7231,7 @@ All file and git operations should use this branch.
|
|
|
7215
7231
|
}
|
|
7216
7232
|
});
|
|
7217
7233
|
app.post("/api/proxy/test", async (_req, res) => {
|
|
7218
|
-
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-
|
|
7234
|
+
const { getSetting: getSetting2, SETTINGS_KEYS } = await import("./settings-2AHDKCD7.js");
|
|
7219
7235
|
const proxyUrl = getSetting2(SETTINGS_KEYS.PROXY_URL);
|
|
7220
7236
|
if (!proxyUrl) {
|
|
7221
7237
|
return res.status(400).json({ success: false, error: "No proxy URL configured" });
|
|
@@ -7242,7 +7258,7 @@ All file and git operations should use this branch.
|
|
|
7242
7258
|
const backend = req.query["backend"];
|
|
7243
7259
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
7244
7260
|
try {
|
|
7245
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
7261
|
+
const { fetchModelsWithContext } = await import("./provider-manager-6CLRMGDE.js");
|
|
7246
7262
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
7247
7263
|
const models = await fetchModelsWithContext(
|
|
7248
7264
|
url,
|
|
@@ -7312,8 +7328,8 @@ All file and git operations should use this branch.
|
|
|
7312
7328
|
}
|
|
7313
7329
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
7314
7330
|
const { getBackendCapabilities } = await import("./backend-LVYHLGQJ.js");
|
|
7315
|
-
const { buildNonStreamingCreateParams } = await import("./client-pure-
|
|
7316
|
-
const { OpenAIHttpClient } = await import("./http-client-
|
|
7331
|
+
const { buildNonStreamingCreateParams } = await import("./client-pure-66Z6FWS6.js");
|
|
7332
|
+
const { OpenAIHttpClient } = await import("./http-client-KLODRQC2.js");
|
|
7317
7333
|
const { ensureVersionPrefix } = await import("./url-utils-SAJP7AEX.js");
|
|
7318
7334
|
const profile = getModelProfile2(model);
|
|
7319
7335
|
const capabilities = getBackendCapabilities(backend || "unknown");
|
|
@@ -7665,7 +7681,7 @@ All file and git operations should use this branch.
|
|
|
7665
7681
|
});
|
|
7666
7682
|
async function rebuildMcpTools() {
|
|
7667
7683
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FEAHWU5C.js");
|
|
7668
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
7684
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-QYYNFMGU.js");
|
|
7669
7685
|
const mcpTools = createMcpTools2(mcpManager);
|
|
7670
7686
|
setMcpTools2(mcpTools);
|
|
7671
7687
|
toolRegistry = createToolRegistry();
|
|
@@ -8046,7 +8062,7 @@ All file and git operations should use this branch.
|
|
|
8046
8062
|
res.status(400).json({ error: error instanceof Error ? error.message : String(error) });
|
|
8047
8063
|
}
|
|
8048
8064
|
});
|
|
8049
|
-
const { listProjects } = await import("./projects-
|
|
8065
|
+
const { listProjects } = await import("./projects-AXHZOBR2.js");
|
|
8050
8066
|
const allProjects = listProjects();
|
|
8051
8067
|
const projectDir = allProjects.find(
|
|
8052
8068
|
(p) => p.workdir === config3.workdir || config3.workdir && p.workdir.startsWith(config3.workdir + "/")
|
|
@@ -8073,13 +8089,13 @@ All file and git operations should use this branch.
|
|
|
8073
8089
|
})
|
|
8074
8090
|
);
|
|
8075
8091
|
app.get("/api/sessions/:id/background-processes", async (req, res) => {
|
|
8076
|
-
const { getSessionProcesses } = await import("./manager-
|
|
8092
|
+
const { getSessionProcesses } = await import("./manager-LZ3JQ443.js");
|
|
8077
8093
|
const sessionId = req.params.id;
|
|
8078
8094
|
const processes = getSessionProcesses(sessionId);
|
|
8079
8095
|
res.json({ processes });
|
|
8080
8096
|
});
|
|
8081
8097
|
app.post("/api/sessions/:id/background-process/:processId/stop", async (req, res) => {
|
|
8082
|
-
const { stopProcess } = await import("./manager-
|
|
8098
|
+
const { stopProcess } = await import("./manager-LZ3JQ443.js");
|
|
8083
8099
|
const sessionId = req.params.id;
|
|
8084
8100
|
const processId = req.params.processId;
|
|
8085
8101
|
const session = sessionManager.getSession(sessionId);
|
|
@@ -8219,7 +8235,7 @@ All file and git operations should use this branch.
|
|
|
8219
8235
|
);
|
|
8220
8236
|
const wss = wssExports.wss;
|
|
8221
8237
|
deferTasksBroadcast = (projectId, payload) => wssExports.broadcastForProject(projectId, "", { type: "tasks.update", payload });
|
|
8222
|
-
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-
|
|
8238
|
+
const { launchWorkflowRun, abortRunnerRun } = await import("./launch-EOXVWLOP.js");
|
|
8223
8239
|
deferTasksLaunchWorkflow = (sessionId, launch) => {
|
|
8224
8240
|
const session = sessionManager.getSession(sessionId);
|
|
8225
8241
|
let llmClient = getLLMClient();
|
|
@@ -8257,7 +8273,7 @@ All file and git operations should use this branch.
|
|
|
8257
8273
|
const state = sessionManager.getContextState(sessionId);
|
|
8258
8274
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
8259
8275
|
});
|
|
8260
|
-
const { QueueProcessor } = await import("./processor-
|
|
8276
|
+
const { QueueProcessor } = await import("./processor-226ZOTRI.js");
|
|
8261
8277
|
const queueProcessor = new QueueProcessor({
|
|
8262
8278
|
sessionManager,
|
|
8263
8279
|
providerManager,
|
|
@@ -8301,7 +8317,7 @@ All file and git operations should use this branch.
|
|
|
8301
8317
|
void (async () => {
|
|
8302
8318
|
await devServerManager.stopAll();
|
|
8303
8319
|
await mcpManager.disconnectAll();
|
|
8304
|
-
const { stopAllInspectProxies } = await import("./inspect-proxy-
|
|
8320
|
+
const { stopAllInspectProxies } = await import("./inspect-proxy-K6QKEYDT.js");
|
|
8305
8321
|
stopAllInspectProxies();
|
|
8306
8322
|
const { cleanupAllProcesses } = await import("./store-SARB6V2N.js");
|
|
8307
8323
|
cleanupAllProcesses();
|
|
@@ -8343,4 +8359,4 @@ export {
|
|
|
8343
8359
|
createServerHandle,
|
|
8344
8360
|
createServer
|
|
8345
8361
|
};
|
|
8346
|
-
//# sourceMappingURL=chunk-
|
|
8362
|
+
//# sourceMappingURL=chunk-OCBBAEMT.js.map
|