openfox 2.0.104 → 2.0.105
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 +16 -0
- package/dist/CHANGELOG.md +16 -0
- package/dist/{chat-handler-G2ZJNAVB.js → chat-handler-CQIDZUR7.js} +7 -7
- package/dist/{chunk-5ZJYEINJ.js → chunk-5M45NHQ2.js} +2 -2
- package/dist/{chunk-WHJ67MO2.js → chunk-6IXRISXA.js} +2 -2
- package/dist/{chunk-XWW7LOU4.js → chunk-6XDKVVYS.js} +19 -19
- package/dist/{chunk-PKLWSTDB.js → chunk-AKUTOOSV.js} +12 -12
- package/dist/{chunk-W2KZ7H55.js → chunk-EIJFYENT.js} +3 -3
- package/dist/{chunk-YXIDKMBJ.js → chunk-FGYOSQUR.js} +2 -2
- package/dist/{chunk-3NVISPE7.js → chunk-KDJZGHSZ.js} +4 -4
- package/dist/{chunk-EFIC3TUX.js → chunk-LG57PZYL.js} +4 -4
- package/dist/{chunk-F766OIDT.js → chunk-PP3WNUA6.js} +2 -2
- package/dist/{chunk-HZXWVD5A.js → chunk-SGGFVTMP.js} +8 -8
- package/dist/chunk-UBF62JJI.js +7 -0
- package/dist/{chunk-2COWPTSJ.js → chunk-UUMJ5PAW.js} +4 -8
- package/dist/{chunk-KCED2X4H.js → chunk-WDJOSRIB.js} +12 -5
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-2EAJAGPC.js → client-XT4VHS7E.js} +3 -3
- package/dist/{client-pure-ONSVWEG5.js → client-pure-USVHN4WG.js} +2 -2
- package/dist/{compactor-IEYTUHYX.js → compactor-JMO7FHYA.js} +4 -4
- package/dist/{dynamic-context-Z5BU2RVP.js → dynamic-context-UJE6F7XT.js} +2 -2
- package/dist/{orchestrator-SYAYO6NS.js → orchestrator-Y2MBWVOB.js} +6 -6
- package/dist/package.json +1 -1
- package/dist/{processor-CBGV2K4E.js → processor-3IURFW2N.js} +6 -6
- package/dist/{provider-XCVHKXPS.js → provider-ZXYITGFU.js} +4 -4
- package/dist/{provider-manager-AUYP3QAM.js → provider-manager-QH5IIGHB.js} +4 -4
- package/dist/{serve-NPS4GJWH.js → serve-OYLEY3HD.js} +13 -13
- package/dist/server/index.js +12 -12
- package/dist/{server-FKM4FQKD.js → server-L6YS6A6J.js} +9 -9
- package/dist/skill-defaults/browser/SKILL.md +36 -22
- package/dist/{tools-KKALZLKX.js → tools-BG44DIYU.js} +4 -4
- package/dist/{update-7BEZMI4R.js → update-SOCIS7KO.js} +2 -2
- package/dist/web/assets/{index-BoWCT9PC.js → index-BHIT-lGU.js} +72 -72
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-MLOCSFIW.js +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.105 - 2026-08-01
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Keyboard scroll control** — arrow and page keys now steer auto-scroll: scrolling up detaches instantly, scrolling down snaps back on near the bottom.
|
|
8
|
+
|
|
9
|
+
### Enhancements
|
|
10
|
+
|
|
11
|
+
- **Magnetic scrollbar handle** — dragging the scrollbar disables auto-scroll instantly and snaps it back on when you release near the end of the track.
|
|
12
|
+
- **Sharper vision-fallback descriptions** — image descriptions now arrive in a clear delimited block, prompted to capture verbatim text and tables.
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- **Auto-scroll no longer detaches mid-stream** — following now holds steady through slow or bursty output, with no more random let-go.
|
|
17
|
+
- **Provider/model switch now rebinds the LLM client** — switching no longer reuses the previous provider's connection.
|
|
18
|
+
|
|
3
19
|
## 2.0.104 - 2026-07-31
|
|
4
20
|
|
|
5
21
|
### Features
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.105 - 2026-08-01
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Keyboard scroll control** — arrow and page keys now steer auto-scroll: scrolling up detaches instantly, scrolling down snaps back on near the bottom.
|
|
8
|
+
|
|
9
|
+
### Enhancements
|
|
10
|
+
|
|
11
|
+
- **Magnetic scrollbar handle** — dragging the scrollbar disables auto-scroll instantly and snaps it back on when you release near the end of the track.
|
|
12
|
+
- **Sharper vision-fallback descriptions** — image descriptions now arrive in a clear delimited block, prompted to capture verbatim text and tables.
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- **Auto-scroll no longer detaches mid-stream** — following now holds steady through slow or bursty output, with no more random let-go.
|
|
17
|
+
- **Provider/model switch now rebinds the LLM client** — switching no longer reuses the previous provider's connection.
|
|
18
|
+
|
|
3
19
|
## 2.0.104 - 2026-07-31
|
|
4
20
|
|
|
5
21
|
### Features
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
buildRunChatTurnParams,
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6IXRISXA.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-KDJZGHSZ.js";
|
|
9
|
+
import "./chunk-EIJFYENT.js";
|
|
10
|
+
import "./chunk-AKUTOOSV.js";
|
|
11
11
|
import "./chunk-B76OP3OE.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-5M45NHQ2.js";
|
|
13
13
|
import "./chunk-J27BLIPY.js";
|
|
14
14
|
import "./chunk-ZASSAZ73.js";
|
|
15
15
|
import "./chunk-TFQSCHVU.js";
|
|
@@ -38,7 +38,7 @@ import "./chunk-6SIX7P6O.js";
|
|
|
38
38
|
import "./chunk-J2GP3J3X.js";
|
|
39
39
|
import "./chunk-V4IE7HJY.js";
|
|
40
40
|
import "./chunk-YHEQTVFV.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-WDJOSRIB.js";
|
|
42
42
|
import "./chunk-SPA7PQPJ.js";
|
|
43
43
|
import "./chunk-GLF65XDS.js";
|
|
44
44
|
import "./chunk-K44MW7JJ.js";
|
|
@@ -166,4 +166,4 @@ export {
|
|
|
166
166
|
startChatSession,
|
|
167
167
|
stopSessionExecution
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=chat-handler-
|
|
169
|
+
//# sourceMappingURL=chat-handler-CQIDZUR7.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-YHEQTVFV.js";
|
|
10
10
|
import {
|
|
11
11
|
buildModelParams
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WDJOSRIB.js";
|
|
13
13
|
import {
|
|
14
14
|
logger
|
|
15
15
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -438,4 +438,4 @@ export {
|
|
|
438
438
|
createChatDoneEvent,
|
|
439
439
|
consumeStreamGenerator
|
|
440
440
|
};
|
|
441
|
-
//# sourceMappingURL=chunk-
|
|
441
|
+
//# sourceMappingURL=chunk-5M45NHQ2.js.map
|
|
@@ -153,7 +153,7 @@ async function generateSessionNameForSession(sessionId, userMessage, deps, signa
|
|
|
153
153
|
client = deps.getLLMClient();
|
|
154
154
|
client.setModel(providerConfig.model);
|
|
155
155
|
} else if (providerConfig) {
|
|
156
|
-
const { createLLMClient } = await import("./client-
|
|
156
|
+
const { createLLMClient } = await import("./client-XT4VHS7E.js");
|
|
157
157
|
client = createLLMClient({
|
|
158
158
|
llm: {
|
|
159
159
|
baseUrl: providerConfig.baseUrl,
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
needsNameGeneration,
|
|
205
205
|
generateSessionNameForSession
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=chunk-
|
|
207
|
+
//# sourceMappingURL=chunk-6IXRISXA.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
tokenFromPassword,
|
|
22
22
|
verifyPassword,
|
|
23
23
|
workflowExists
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-SGGFVTMP.js";
|
|
25
25
|
import {
|
|
26
26
|
openFolder
|
|
27
27
|
} from "./chunk-62QCBNPE.js";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
setMcpManagerForTools,
|
|
35
35
|
setMcpTools,
|
|
36
36
|
setNotifyMcpServersChanged
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-AKUTOOSV.js";
|
|
38
38
|
import {
|
|
39
39
|
deleteOwnedSkill,
|
|
40
40
|
deleteProjectSkill,
|
|
@@ -121,7 +121,7 @@ import {
|
|
|
121
121
|
} from "./chunk-WWFH5GAR.js";
|
|
122
122
|
import {
|
|
123
123
|
VERSION
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-UBF62JJI.js";
|
|
125
125
|
import {
|
|
126
126
|
clearWorkflowExecution,
|
|
127
127
|
createSession,
|
|
@@ -170,7 +170,7 @@ import {
|
|
|
170
170
|
detectModel,
|
|
171
171
|
getLlmStatus,
|
|
172
172
|
parseDefaultModelSelection
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-UUMJ5PAW.js";
|
|
174
174
|
import {
|
|
175
175
|
getModelProfile
|
|
176
176
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -5854,7 +5854,7 @@ async function createServerHandle(config3) {
|
|
|
5854
5854
|
toolRegistry = createToolRegistry();
|
|
5855
5855
|
logger.info("MCP tools registered", { count: mcpTools.length });
|
|
5856
5856
|
}
|
|
5857
|
-
const { signalMcpReady } = await import("./server-
|
|
5857
|
+
const { signalMcpReady } = await import("./server-L6YS6A6J.js");
|
|
5858
5858
|
signalMcpReady();
|
|
5859
5859
|
});
|
|
5860
5860
|
const app = express();
|
|
@@ -6352,7 +6352,7 @@ All file and git operations should use this branch.
|
|
|
6352
6352
|
app.get("/api/sessions/:id", async (req, res) => {
|
|
6353
6353
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot } = await import("./events-BGVLDGLK.js");
|
|
6354
6354
|
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-AJMZBHNR.js");
|
|
6355
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
6355
|
+
const { getPendingQuestionsForSession } = await import("./tools-BG44DIYU.js");
|
|
6356
6356
|
const { getMaxVisibleItems } = await import("./settings-TGCITCVA.js");
|
|
6357
6357
|
const { getAgentModelOverride: getAgentModelOverride2 } = await import("./model-overrides-BLEFI7FQ.js");
|
|
6358
6358
|
const { updateSessionProvider: updateSessionProvider2 } = await import("./sessions-ZV2WRC6K.js");
|
|
@@ -6394,8 +6394,8 @@ All file and git operations should use this branch.
|
|
|
6394
6394
|
if (!session) {
|
|
6395
6395
|
return res.status(404).json({ error: "Session not found" });
|
|
6396
6396
|
}
|
|
6397
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
6398
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
6397
|
+
const { stopSessionExecution } = await import("./chat-handler-CQIDZUR7.js");
|
|
6398
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-BG44DIYU.js");
|
|
6399
6399
|
sessionManager.clearMessageQueue(sessionId);
|
|
6400
6400
|
stopSessionExecution(sessionId, sessionManager);
|
|
6401
6401
|
abortSession(sessionId);
|
|
@@ -6645,7 +6645,7 @@ All file and git operations should use this branch.
|
|
|
6645
6645
|
if (alwaysAllow !== void 0 && typeof alwaysAllow !== "boolean") {
|
|
6646
6646
|
return res.status(400).json({ error: "alwaysAllow must be a boolean if provided" });
|
|
6647
6647
|
}
|
|
6648
|
-
const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-
|
|
6648
|
+
const { providePathConfirmation, getConfirmationSessionId } = await import("./tools-BG44DIYU.js");
|
|
6649
6649
|
const pendingSessionId = getConfirmationSessionId(callId);
|
|
6650
6650
|
if (!pendingSessionId) {
|
|
6651
6651
|
return res.status(404).json({ error: "No pending path confirmation with that ID" });
|
|
@@ -6660,7 +6660,7 @@ All file and git operations should use this branch.
|
|
|
6660
6660
|
const { getEventStore: getEventStore2, combineEventsWithSnapshot: combineEvents } = await import("./events-BGVLDGLK.js");
|
|
6661
6661
|
const { buildMessagesFromStoredEvents, foldPendingConfirmations } = await import("./folding-AJMZBHNR.js");
|
|
6662
6662
|
const { createSessionStateMessage } = await import("./protocol-YDNGGADL.js");
|
|
6663
|
-
const { getPendingQuestionsForSession } = await import("./tools-
|
|
6663
|
+
const { getPendingQuestionsForSession } = await import("./tools-BG44DIYU.js");
|
|
6664
6664
|
const { getMaxVisibleItems } = await import("./settings-TGCITCVA.js");
|
|
6665
6665
|
const eventStore = getEventStore2();
|
|
6666
6666
|
const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
|
|
@@ -6697,7 +6697,7 @@ All file and git operations should use this branch.
|
|
|
6697
6697
|
if (!skip && typeof answer !== "string") {
|
|
6698
6698
|
return res.status(400).json({ error: "answer is required when not skipping" });
|
|
6699
6699
|
}
|
|
6700
|
-
const { provideAnswer } = await import("./tools-
|
|
6700
|
+
const { provideAnswer } = await import("./tools-BG44DIYU.js");
|
|
6701
6701
|
const found = provideAnswer(callId, answer ?? "", skip ?? false);
|
|
6702
6702
|
if (!found) {
|
|
6703
6703
|
return res.status(404).json({ error: "No pending question with that ID" });
|
|
@@ -6762,7 +6762,7 @@ All file and git operations should use this branch.
|
|
|
6762
6762
|
backend: activeProvider?.backend ?? llmClient.getBackend(),
|
|
6763
6763
|
model: llmClient.getModel()
|
|
6764
6764
|
};
|
|
6765
|
-
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-
|
|
6765
|
+
const { runAgentTurn, TurnMetrics } = await import("./orchestrator-Y2MBWVOB.js");
|
|
6766
6766
|
runAgentTurn(
|
|
6767
6767
|
{
|
|
6768
6768
|
sessionManager,
|
|
@@ -6800,8 +6800,8 @@ All file and git operations should use this branch.
|
|
|
6800
6800
|
if (!session) {
|
|
6801
6801
|
return res.status(404).json({ error: "Session not found" });
|
|
6802
6802
|
}
|
|
6803
|
-
const { stopSessionExecution } = await import("./chat-handler-
|
|
6804
|
-
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-
|
|
6803
|
+
const { stopSessionExecution } = await import("./chat-handler-CQIDZUR7.js");
|
|
6804
|
+
const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-BG44DIYU.js");
|
|
6805
6805
|
const queuedMessages = sessionManager.getQueueState(sessionId);
|
|
6806
6806
|
sessionManager.clearMessageQueue(sessionId);
|
|
6807
6807
|
stopSessionExecution(sessionId, sessionManager);
|
|
@@ -7169,7 +7169,7 @@ All file and git operations should use this branch.
|
|
|
7169
7169
|
const backend = req.query["backend"];
|
|
7170
7170
|
if (!url) return res.status(400).json({ error: "url is required" });
|
|
7171
7171
|
try {
|
|
7172
|
-
const { fetchModelsWithContext } = await import("./provider-manager-
|
|
7172
|
+
const { fetchModelsWithContext } = await import("./provider-manager-QH5IIGHB.js");
|
|
7173
7173
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
7174
7174
|
const models = await fetchModelsWithContext(
|
|
7175
7175
|
url,
|
|
@@ -7239,7 +7239,7 @@ All file and git operations should use this branch.
|
|
|
7239
7239
|
}
|
|
7240
7240
|
const { getModelProfile: getModelProfile2 } = await import("./profiles-5J7F4BML.js");
|
|
7241
7241
|
const { getBackendCapabilities } = await import("./backend-P3GHHLHJ.js");
|
|
7242
|
-
const { buildNonStreamingCreateParams } = await import("./client-pure-
|
|
7242
|
+
const { buildNonStreamingCreateParams } = await import("./client-pure-USVHN4WG.js");
|
|
7243
7243
|
const { OpenAIHttpClient } = await import("./http-client-A7A4XWNK.js");
|
|
7244
7244
|
const { ensureVersionPrefix } = await import("./url-utils-SAJP7AEX.js");
|
|
7245
7245
|
const profile = getModelProfile2(model);
|
|
@@ -7590,7 +7590,7 @@ All file and git operations should use this branch.
|
|
|
7590
7590
|
});
|
|
7591
7591
|
async function rebuildMcpTools() {
|
|
7592
7592
|
const { createMcpTools: createMcpTools2 } = await import("./tool-adapter-FEAHWU5C.js");
|
|
7593
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
7593
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-BG44DIYU.js");
|
|
7594
7594
|
const mcpTools = createMcpTools2(mcpManager);
|
|
7595
7595
|
setMcpTools2(mcpTools);
|
|
7596
7596
|
toolRegistry = createToolRegistry();
|
|
@@ -8002,7 +8002,7 @@ All file and git operations should use this branch.
|
|
|
8002
8002
|
const state = sessionManager.getContextState(sessionId);
|
|
8003
8003
|
wssExports.broadcastForSession(sessionId, createContextStateMessage(state));
|
|
8004
8004
|
});
|
|
8005
|
-
const { QueueProcessor } = await import("./processor-
|
|
8005
|
+
const { QueueProcessor } = await import("./processor-3IURFW2N.js");
|
|
8006
8006
|
const queueProcessor = new QueueProcessor({
|
|
8007
8007
|
sessionManager,
|
|
8008
8008
|
providerManager,
|
|
@@ -8086,4 +8086,4 @@ export {
|
|
|
8086
8086
|
createServerHandle,
|
|
8087
8087
|
createServer
|
|
8088
8088
|
};
|
|
8089
|
-
//# sourceMappingURL=chunk-
|
|
8089
|
+
//# sourceMappingURL=chunk-6XDKVVYS.js.map
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
createToolCallEvent,
|
|
15
15
|
createToolResultEvent,
|
|
16
16
|
streamLLMPure
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5M45NHQ2.js";
|
|
18
18
|
import {
|
|
19
19
|
COMPACTION_PROMPT,
|
|
20
20
|
buildBasePrompt,
|
|
@@ -108,7 +108,7 @@ import {
|
|
|
108
108
|
formatPdfErrorMessage,
|
|
109
109
|
isPdfBuffer,
|
|
110
110
|
processPdfContent
|
|
111
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-WDJOSRIB.js";
|
|
112
112
|
import {
|
|
113
113
|
SETTINGS_KEYS,
|
|
114
114
|
getSetting
|
|
@@ -1919,7 +1919,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
|
|
|
1919
1919
|
sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens, config.subAgentMetadata?.subAgentId);
|
|
1920
1920
|
if (!compacting) {
|
|
1921
1921
|
const contextState2 = sessionManager.getContextState(sessionId);
|
|
1922
|
-
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-
|
|
1922
|
+
const { shouldCompact, appendCompactionPrompt } = await import("./compactor-JMO7FHYA.js");
|
|
1923
1923
|
if (shouldCompact(
|
|
1924
1924
|
contextState2.currentTokens,
|
|
1925
1925
|
contextState2.maxTokens,
|
|
@@ -2185,13 +2185,13 @@ function createAssemblyResult(input) {
|
|
|
2185
2185
|
}
|
|
2186
2186
|
|
|
2187
2187
|
// src/server/llm/vision-fallback.ts
|
|
2188
|
-
var IMAGE_PROMPT = `Describe this image
|
|
2189
|
-
- What the image shows (UI, diagram, photo, etc.)
|
|
2190
|
-
-
|
|
2191
|
-
-
|
|
2192
|
-
-
|
|
2188
|
+
var IMAGE_PROMPT = `Describe this image thoroughly and accurately. Include:
|
|
2189
|
+
- What the image shows (UI, diagram, photo, illustration, etc.)
|
|
2190
|
+
- All visible text, transcribed verbatim \u2014 every label, heading, number, and value
|
|
2191
|
+
- Spatial layout: where elements are positioned and how they relate
|
|
2192
|
+
- Colors, visual hierarchy, and any distinctive visual features
|
|
2193
2193
|
|
|
2194
|
-
|
|
2194
|
+
Be exhaustive rather than concise. Prioritize precision \u2014 if there are numbers, lists, or structured data, capture them completely. If the image contains a table or grid, reproduce it as a markdown table with exact values.`;
|
|
2195
2195
|
function buildPrompt(context) {
|
|
2196
2196
|
return context ? `${IMAGE_PROMPT}
|
|
2197
2197
|
|
|
@@ -2907,7 +2907,7 @@ var callSubAgentTool = {
|
|
|
2907
2907
|
};
|
|
2908
2908
|
}
|
|
2909
2909
|
try {
|
|
2910
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
2910
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-BG44DIYU.js");
|
|
2911
2911
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
2912
2912
|
const turnMetrics = new TurnMetrics();
|
|
2913
2913
|
const result = await executeSubAgent({
|
|
@@ -3929,7 +3929,7 @@ var mcpConfigTool = createTool(
|
|
|
3929
3929
|
mcpNotifyChanged?.(sessionId);
|
|
3930
3930
|
}
|
|
3931
3931
|
async function rebuildTools() {
|
|
3932
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
3932
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-BG44DIYU.js");
|
|
3933
3933
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
3934
3934
|
setMcpTools2(mcpTools);
|
|
3935
3935
|
}
|
|
@@ -4604,4 +4604,4 @@ export {
|
|
|
4604
4604
|
getToolRegistryForAgent,
|
|
4605
4605
|
createToolRegistry
|
|
4606
4606
|
};
|
|
4607
|
-
//# sourceMappingURL=chunk-
|
|
4607
|
+
//# sourceMappingURL=chunk-AKUTOOSV.js.map
|
|
@@ -105,7 +105,7 @@ function resolveAgentDef(sessionManager, sessionId) {
|
|
|
105
105
|
}
|
|
106
106
|
async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
|
|
107
107
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
108
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
108
|
+
const { getToolRegistryForAgent } = await import("./tools-BG44DIYU.js");
|
|
109
109
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
110
110
|
const toolFingerprint = getToolFingerprint(tools);
|
|
111
111
|
const allAgents = await loadAllAgentsDefault();
|
|
@@ -124,7 +124,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName)
|
|
|
124
124
|
async function computeSessionHash(sessionManager, sessionId, modelName) {
|
|
125
125
|
const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
|
|
126
126
|
const agentDef = await resolveAgentDef(sessionManager, sessionId);
|
|
127
|
-
const { getToolRegistryForAgent } = await import("./tools-
|
|
127
|
+
const { getToolRegistryForAgent } = await import("./tools-BG44DIYU.js");
|
|
128
128
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
129
129
|
const toolFingerprint = getToolFingerprint(tools);
|
|
130
130
|
return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
|
|
@@ -148,4 +148,4 @@ export {
|
|
|
148
148
|
computeSessionHash,
|
|
149
149
|
applyDynamicContext
|
|
150
150
|
};
|
|
151
|
-
//# sourceMappingURL=chunk-
|
|
151
|
+
//# sourceMappingURL=chunk-EIJFYENT.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createMessageStartEvent
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5M45NHQ2.js";
|
|
4
4
|
import {
|
|
5
5
|
COMPACTION_PROMPT
|
|
6
6
|
} from "./chunk-J27BLIPY.js";
|
|
@@ -36,4 +36,4 @@ export {
|
|
|
36
36
|
COMPACTION_MAX_RATIO,
|
|
37
37
|
shouldCompact
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-FGYOSQUR.js.map
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
buildCachedPrompt,
|
|
3
3
|
computeDynamicContextHash,
|
|
4
4
|
getToolFingerprint
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EIJFYENT.js";
|
|
6
6
|
import {
|
|
7
7
|
createAssemblyResult,
|
|
8
8
|
getConversationMessages,
|
|
9
9
|
getToolRegistryForAgent,
|
|
10
10
|
processEventsForConversation,
|
|
11
11
|
runTopLevelAgentLoop
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AKUTOOSV.js";
|
|
13
13
|
import {
|
|
14
14
|
getAllInstructions,
|
|
15
15
|
getEnabledSkillMetadata
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
TurnMetrics,
|
|
19
19
|
createChatDoneEvent,
|
|
20
20
|
createMessageStartEvent
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-5M45NHQ2.js";
|
|
22
22
|
import {
|
|
23
23
|
buildAgentReminder,
|
|
24
24
|
buildAgentSmallReminder
|
|
@@ -321,4 +321,4 @@ export {
|
|
|
321
321
|
runChatTurn,
|
|
322
322
|
runAgentTurn
|
|
323
323
|
};
|
|
324
|
-
//# sourceMappingURL=chunk-
|
|
324
|
+
//# sourceMappingURL=chunk-KDJZGHSZ.js.map
|
|
@@ -163,7 +163,7 @@ async function runCli(options) {
|
|
|
163
163
|
break;
|
|
164
164
|
}
|
|
165
165
|
case "provider": {
|
|
166
|
-
const { runProviderCommand } = await import("./provider-
|
|
166
|
+
const { runProviderCommand } = await import("./provider-ZXYITGFU.js");
|
|
167
167
|
const [, subcommand] = positionals;
|
|
168
168
|
await runProviderCommand(mode, subcommand);
|
|
169
169
|
break;
|
|
@@ -200,7 +200,7 @@ async function runCli(options) {
|
|
|
200
200
|
break;
|
|
201
201
|
}
|
|
202
202
|
case "update": {
|
|
203
|
-
const { runUpdate } = await import("./update-
|
|
203
|
+
const { runUpdate } = await import("./update-SOCIS7KO.js");
|
|
204
204
|
const code = await runUpdate();
|
|
205
205
|
if (code !== 0) {
|
|
206
206
|
process.exit(code);
|
|
@@ -213,7 +213,7 @@ async function runCli(options) {
|
|
|
213
213
|
if (!configExists) {
|
|
214
214
|
await runNetworkSetup(mode);
|
|
215
215
|
}
|
|
216
|
-
const { runServe } = await import("./serve-
|
|
216
|
+
const { runServe } = await import("./serve-OYLEY3HD.js");
|
|
217
217
|
const serveOptions = { mode };
|
|
218
218
|
if (values.port) serveOptions.port = parseInt(values.port);
|
|
219
219
|
if (values["no-browser"] === true) serveOptions.openBrowser = false;
|
|
@@ -225,4 +225,4 @@ async function runCli(options) {
|
|
|
225
225
|
export {
|
|
226
226
|
runCli
|
|
227
227
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
228
|
+
//# sourceMappingURL=chunk-LG57PZYL.js.map
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
getThinking,
|
|
14
14
|
mapFinishReason,
|
|
15
15
|
parseToolArguments
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WDJOSRIB.js";
|
|
17
17
|
import {
|
|
18
18
|
LLMError,
|
|
19
19
|
OpenAIHttpClient
|
|
@@ -310,4 +310,4 @@ function createLLMClient(config, initialBackend = "unknown") {
|
|
|
310
310
|
export {
|
|
311
311
|
createLLMClient
|
|
312
312
|
};
|
|
313
|
-
//# sourceMappingURL=chunk-
|
|
313
|
+
//# sourceMappingURL=chunk-PP3WNUA6.js.map
|
|
@@ -2,28 +2,28 @@ import {
|
|
|
2
2
|
generateSessionNameForSession,
|
|
3
3
|
getSessionMessageCount,
|
|
4
4
|
needsNameGeneration
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6IXRISXA.js";
|
|
6
6
|
import {
|
|
7
7
|
runAgentTurn,
|
|
8
8
|
runChatTurn
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KDJZGHSZ.js";
|
|
10
10
|
import {
|
|
11
11
|
applyDynamicContext,
|
|
12
12
|
computeSessionHash,
|
|
13
13
|
computeUnifiedDiff
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EIJFYENT.js";
|
|
15
15
|
import {
|
|
16
16
|
appendCompactionPrompt
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-FGYOSQUR.js";
|
|
18
18
|
import {
|
|
19
19
|
devServerManager,
|
|
20
20
|
executeSubAgent,
|
|
21
21
|
getToolRegistryForAgent
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-AKUTOOSV.js";
|
|
23
23
|
import {
|
|
24
24
|
TurnMetrics,
|
|
25
25
|
createMessageStartEvent
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-5M45NHQ2.js";
|
|
27
27
|
import {
|
|
28
28
|
checkAborted,
|
|
29
29
|
onProcessEvent,
|
|
@@ -2166,7 +2166,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
2166
2166
|
const sessionId = client.activeSessionId;
|
|
2167
2167
|
const session = sessionManager.requireSession(sessionId);
|
|
2168
2168
|
try {
|
|
2169
|
-
const { buildCachedPrompt } = await import("./dynamic-context-
|
|
2169
|
+
const { buildCachedPrompt } = await import("./dynamic-context-UJE6F7XT.js");
|
|
2170
2170
|
const allAgents = await import("./registry-M2QVGRNK.js");
|
|
2171
2171
|
const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
|
|
2172
2172
|
const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
|
|
@@ -2489,4 +2489,4 @@ export {
|
|
|
2489
2489
|
signalMcpReady,
|
|
2490
2490
|
createWebSocketServer
|
|
2491
2491
|
};
|
|
2492
|
-
//# sourceMappingURL=chunk-
|
|
2492
|
+
//# sourceMappingURL=chunk-SGGFVTMP.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLLMClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PP3WNUA6.js";
|
|
4
4
|
import {
|
|
5
5
|
getModelProfile
|
|
6
6
|
} from "./chunk-V4IE7HJY.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from "./chunk-HNCM3D7Y.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveAttachmentsInMessages
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WDJOSRIB.js";
|
|
18
18
|
import {
|
|
19
19
|
logger
|
|
20
20
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -629,13 +629,9 @@ function createProviderManager(config, options = {}) {
|
|
|
629
629
|
return { success: false, error: "Provider not found" };
|
|
630
630
|
}
|
|
631
631
|
logger.info("Setting default model selection", { providerId, model, providerName: provider.name });
|
|
632
|
+
llmClient = createClientForProvider(provider, model);
|
|
632
633
|
defaultModelSelection = `${providerId}/${model}`;
|
|
633
634
|
providers = providers.map((p) => ({ ...p, isActive: p.id === providerId }));
|
|
634
|
-
const currentProviderId = parseDefaultModelSelection(defaultModelSelection).providerId;
|
|
635
|
-
if (currentProviderId === providerId) {
|
|
636
|
-
llmClient.setModel(model);
|
|
637
|
-
logger.info("Model updated", { providerId, model });
|
|
638
|
-
}
|
|
639
635
|
return { success: true };
|
|
640
636
|
},
|
|
641
637
|
getCurrentModelContext() {
|
|
@@ -808,4 +804,4 @@ export {
|
|
|
808
804
|
parseDefaultModelSelection,
|
|
809
805
|
createProviderManager
|
|
810
806
|
};
|
|
811
|
-
//# sourceMappingURL=chunk-
|
|
807
|
+
//# sourceMappingURL=chunk-UUMJ5PAW.js.map
|
|
@@ -336,6 +336,15 @@ function decodeDataUrl(data) {
|
|
|
336
336
|
}
|
|
337
337
|
|
|
338
338
|
// src/server/llm/resolve-attachments.ts
|
|
339
|
+
function formatVisionFallbackDescription(filename, description) {
|
|
340
|
+
return [
|
|
341
|
+
`[Image: ${filename || "image"}]`,
|
|
342
|
+
`You cannot see this image directly \u2014 a separate vision model produced the description below:`,
|
|
343
|
+
`<image_description>`,
|
|
344
|
+
description,
|
|
345
|
+
`</image_description>`
|
|
346
|
+
].join("\n");
|
|
347
|
+
}
|
|
339
348
|
var pdfBlockCache = /* @__PURE__ */ new Map();
|
|
340
349
|
async function extractPdfFromDataUrl(data, filename) {
|
|
341
350
|
const base64Match = data.match(/^data:.*?;base64,(.+)$/);
|
|
@@ -401,7 +410,7 @@ ${text}`;
|
|
|
401
410
|
return `[File: ${attachment.filename || "file"} (unsupported type: ${mimeType})]`;
|
|
402
411
|
}
|
|
403
412
|
if (attachment.description) {
|
|
404
|
-
return
|
|
413
|
+
return formatVisionFallbackDescription(attachment.filename, attachment.description);
|
|
405
414
|
}
|
|
406
415
|
return `[Image: ${attachment.filename || "image"}] (vision not supported, cannot describe)`;
|
|
407
416
|
}
|
|
@@ -522,9 +531,7 @@ ${attachment.data}` }];
|
|
|
522
531
|
return [{ type: "image_url", image_url: { url: attachment.data } }];
|
|
523
532
|
}
|
|
524
533
|
if (attachment.description) {
|
|
525
|
-
return [
|
|
526
|
-
{ type: "text", text: `[Image: ${attachment.filename || "image"} - description: ${attachment.description}]` }
|
|
527
|
-
];
|
|
534
|
+
return [{ type: "text", text: formatVisionFallbackDescription(attachment.filename, attachment.description) }];
|
|
528
535
|
}
|
|
529
536
|
return [{ type: "text", text: `[Image: ${attachment.filename || "image"}] (vision not supported, cannot describe)` }];
|
|
530
537
|
}
|
|
@@ -687,4 +694,4 @@ export {
|
|
|
687
694
|
buildStreamingCreateParams,
|
|
688
695
|
mapFinishReason
|
|
689
696
|
};
|
|
690
|
-
//# sourceMappingURL=chunk-
|
|
697
|
+
//# sourceMappingURL=chunk-WDJOSRIB.js.map
|
package/dist/cli/dev.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLLMClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PP3WNUA6.js";
|
|
4
4
|
import "./chunk-V4IE7HJY.js";
|
|
5
5
|
import "./chunk-YHEQTVFV.js";
|
|
6
6
|
import "./chunk-HNCM3D7Y.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-WDJOSRIB.js";
|
|
8
8
|
import "./chunk-ERKPMNC7.js";
|
|
9
9
|
import "./chunk-SPA7PQPJ.js";
|
|
10
10
|
import "./chunk-GLF65XDS.js";
|
|
@@ -13,4 +13,4 @@ import "./chunk-5WRI5ZAA.js";
|
|
|
13
13
|
export {
|
|
14
14
|
createLLMClient
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=client-
|
|
16
|
+
//# sourceMappingURL=client-XT4VHS7E.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
mapFinishReason,
|
|
9
9
|
parseToolArguments,
|
|
10
10
|
resolveAttachmentsInMessages
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WDJOSRIB.js";
|
|
12
12
|
import "./chunk-5WRI5ZAA.js";
|
|
13
13
|
export {
|
|
14
14
|
buildModelParams,
|
|
@@ -21,4 +21,4 @@ export {
|
|
|
21
21
|
parseToolArguments,
|
|
22
22
|
resolveAttachmentsInMessages
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=client-pure-
|
|
24
|
+
//# sourceMappingURL=client-pure-USVHN4WG.js.map
|