openfox 2.0.126 → 2.0.127
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 +13 -0
- package/dist/CHANGELOG.md +13 -0
- package/dist/{chat-handler-OJ4XBQY4.js → chat-handler-63VGKLM5.js} +5 -5
- package/dist/{chunk-77PJWQR7.js → chunk-7CBVJAN5.js} +3 -3
- package/dist/{chunk-2UPFWNC4.js → chunk-FGK6KPJ5.js} +3 -3
- package/dist/{chunk-TP2PGZSE.js → chunk-GKDJW4VP.js} +3 -3
- package/dist/{chunk-6VW4BQMP.js → chunk-IE2OMJIH.js} +6 -6
- package/dist/{chunk-76A3E4LK.js → chunk-IQYI7TWF.js} +5 -5
- package/dist/chunk-QDO3BEGW.js +7 -0
- package/dist/{chunk-KSXCOHHW.js → chunk-R5FAEKXQ.js} +16 -1
- package/dist/{chunk-H2RZDEVL.js → chunk-TY3ONJE4.js} +7 -7
- package/dist/{chunk-ZS55MMG6.js → chunk-TZJU6F6Z.js} +73 -40
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{config-TUCHLIWD.js → config-LOK3LXFH.js} +4 -2
- package/dist/{dynamic-context-PYAUG2LP.js → dynamic-context-KXZ6VJDE.js} +2 -2
- package/dist/{launch-3F2GCRRF.js → launch-DYWJD6L5.js} +6 -6
- package/dist/{orchestrator-BRHIA2KE.js → orchestrator-LBQWRAXC.js} +5 -5
- package/dist/package.json +1 -1
- package/dist/{processor-2IFXIJXG.js → processor-WP2LQOEV.js} +4 -4
- package/dist/{provider-6LUA73HF.js → provider-726LD2KU.js} +3 -3
- package/dist/{serve-WJKFUMLI.js → serve-OY3Y5PXK.js} +9 -9
- package/dist/server/index.js +8 -8
- package/dist/{server-6LDC4HU6.js → server-DMHNVEW4.js} +7 -7
- package/dist/{tools-AOLICK5U.js → tools-CZHV2FAD.js} +3 -3
- package/dist/{update-VH75MTCP.js → update-RCNZQCFG.js} +2 -2
- package/dist/web/assets/index-B63UkA7X.js +310 -0
- package/dist/web/assets/{index-DFMllFkv.css → index-CbX8veVW.css} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-ABCCTPBC.js +0 -7
- package/dist/web/assets/index-DQ3Wg2OF.js +0 -324
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.127 - 2026-08-22
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Reorder providers with drag & drop or arrows** — Manage Providers list gains drag handles and arrows
|
|
8
|
+
- **Workspace switch reminders include a commit recipe** — the exact git commands to commit and push
|
|
9
|
+
|
|
10
|
+
### Enhancements
|
|
11
|
+
|
|
12
|
+
- **Chat feed keeps a minimum width** — sidebars collapse left-first on narrow windows
|
|
13
|
+
- **Manage providers opens in a modal** — no longer buried in the onboarding wizard
|
|
14
|
+
- **Starring a model selects it** — the model picker now selects a starred model for the session
|
|
15
|
+
|
|
3
16
|
## 2.0.126 - 2026-08-21
|
|
4
17
|
|
|
5
18
|
### Bug Fixes
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.127 - 2026-08-22
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **Reorder providers with drag & drop or arrows** — Manage Providers list gains drag handles and arrows
|
|
8
|
+
- **Workspace switch reminders include a commit recipe** — the exact git commands to commit and push
|
|
9
|
+
|
|
10
|
+
### Enhancements
|
|
11
|
+
|
|
12
|
+
- **Chat feed keeps a minimum width** — sidebars collapse left-first on narrow windows
|
|
13
|
+
- **Manage providers opens in a modal** — no longer buried in the onboarding wizard
|
|
14
|
+
- **Starring a model selects it** — the model picker now selects a starred model for the session
|
|
15
|
+
|
|
3
16
|
## 2.0.126 - 2026-08-21
|
|
4
17
|
|
|
5
18
|
### Bug Fixes
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
} from "./chunk-HOSFRPPI.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-FGK6KPJ5.js";
|
|
9
|
+
import "./chunk-IQYI7TWF.js";
|
|
10
|
+
import "./chunk-GKDJW4VP.js";
|
|
11
11
|
import "./chunk-ZIL6VKLU.js";
|
|
12
12
|
import "./chunk-LJX7KXRU.js";
|
|
13
13
|
import "./chunk-GIJUWPRQ.js";
|
|
@@ -51,7 +51,7 @@ import "./chunk-OYBUJIC3.js";
|
|
|
51
51
|
import "./chunk-ISE55FOR.js";
|
|
52
52
|
import "./chunk-K44MW7JJ.js";
|
|
53
53
|
import "./chunk-KSDWQ6IZ.js";
|
|
54
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-R5FAEKXQ.js";
|
|
55
55
|
import "./chunk-CQGTEGKL.js";
|
|
56
56
|
import "./chunk-YLJ4XMA6.js";
|
|
57
57
|
|
|
@@ -174,4 +174,4 @@ export {
|
|
|
174
174
|
startChatSession,
|
|
175
175
|
stopSessionExecution
|
|
176
176
|
};
|
|
177
|
-
//# sourceMappingURL=chat-handler-
|
|
177
|
+
//# sourceMappingURL=chat-handler-63VGKLM5.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runAgentTurn
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FGK6KPJ5.js";
|
|
4
4
|
import {
|
|
5
5
|
executeSubAgent,
|
|
6
6
|
getToolRegistryForAgent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-IQYI7TWF.js";
|
|
8
8
|
import {
|
|
9
9
|
TurnMetrics,
|
|
10
10
|
createMessageStartEvent
|
|
@@ -1002,4 +1002,4 @@ export {
|
|
|
1002
1002
|
abortRunnerRun,
|
|
1003
1003
|
launchWorkflowRun
|
|
1004
1004
|
};
|
|
1005
|
-
//# sourceMappingURL=chunk-
|
|
1005
|
+
//# sourceMappingURL=chunk-7CBVJAN5.js.map
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
getToolRegistryForAgent,
|
|
5
5
|
processEventsForConversation,
|
|
6
6
|
runTopLevelAgentLoop
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-IQYI7TWF.js";
|
|
8
8
|
import {
|
|
9
9
|
buildCachedPrompt,
|
|
10
10
|
computeDynamicContextHash,
|
|
11
11
|
getToolFingerprint
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GKDJW4VP.js";
|
|
13
13
|
import {
|
|
14
14
|
getAllInstructions,
|
|
15
15
|
getEnabledSkillMetadata
|
|
@@ -329,4 +329,4 @@ export {
|
|
|
329
329
|
runChatTurn,
|
|
330
330
|
runAgentTurn
|
|
331
331
|
};
|
|
332
|
-
//# sourceMappingURL=chunk-
|
|
332
|
+
//# sourceMappingURL=chunk-FGK6KPJ5.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-CZHV2FAD.js");
|
|
109
109
|
const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
|
|
110
110
|
const toolFingerprint = getToolFingerprint(tools);
|
|
111
111
|
const allAgents = await loadAllAgentsDefault(sessionManager.getProjectWorkdir(sessionId));
|
|
@@ -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-CZHV2FAD.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-GKDJW4VP.js.map
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
} from "./chunk-HOSFRPPI.js";
|
|
6
6
|
import {
|
|
7
7
|
launchWorkflowRun
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-7CBVJAN5.js";
|
|
9
9
|
import {
|
|
10
10
|
runChatTurn
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FGK6KPJ5.js";
|
|
12
12
|
import {
|
|
13
13
|
devServerManager
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-IQYI7TWF.js";
|
|
15
15
|
import {
|
|
16
16
|
applyDynamicContext,
|
|
17
17
|
computeSessionHash,
|
|
18
18
|
computeUnifiedDiff
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-GKDJW4VP.js";
|
|
20
20
|
import {
|
|
21
21
|
appendCompactionPrompt
|
|
22
22
|
} from "./chunk-UAAFZEIS.js";
|
|
@@ -1299,7 +1299,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
|
|
|
1299
1299
|
}
|
|
1300
1300
|
const session = sessionManager.requireSession(sessionId);
|
|
1301
1301
|
try {
|
|
1302
|
-
const { buildCachedPrompt } = await import("./dynamic-context-
|
|
1302
|
+
const { buildCachedPrompt } = await import("./dynamic-context-KXZ6VJDE.js");
|
|
1303
1303
|
const allAgents = await import("./registry-Z4GVYFTV.js");
|
|
1304
1304
|
const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
|
|
1305
1305
|
const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
|
|
@@ -1624,4 +1624,4 @@ export {
|
|
|
1624
1624
|
signalMcpReady,
|
|
1625
1625
|
createWebSocketServer
|
|
1626
1626
|
};
|
|
1627
|
-
//# sourceMappingURL=chunk-
|
|
1627
|
+
//# sourceMappingURL=chunk-IE2OMJIH.js.map
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
import {
|
|
133
133
|
loadGlobalConfig,
|
|
134
134
|
saveGlobalConfig
|
|
135
|
-
} from "./chunk-
|
|
135
|
+
} from "./chunk-R5FAEKXQ.js";
|
|
136
136
|
import {
|
|
137
137
|
getGlobalConfigDir
|
|
138
138
|
} from "./chunk-CQGTEGKL.js";
|
|
@@ -2519,7 +2519,7 @@ async function describeImageFromDataUrl(dataUrl, visionModel, options) {
|
|
|
2519
2519
|
// src/server/context/image-processor.ts
|
|
2520
2520
|
async function loadVisionModelFromGlobalConfig() {
|
|
2521
2521
|
try {
|
|
2522
|
-
const { loadGlobalConfig: loadGlobalConfig2, resolveVisionFallback } = await import("./config-
|
|
2522
|
+
const { loadGlobalConfig: loadGlobalConfig2, resolveVisionFallback } = await import("./config-LOK3LXFH.js");
|
|
2523
2523
|
const runtimeConfig = getRuntimeConfig();
|
|
2524
2524
|
const mode = runtimeConfig.mode ?? "production";
|
|
2525
2525
|
const globalConfig = await loadGlobalConfig2(mode);
|
|
@@ -3168,7 +3168,7 @@ var callSubAgentTool = {
|
|
|
3168
3168
|
};
|
|
3169
3169
|
}
|
|
3170
3170
|
try {
|
|
3171
|
-
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-
|
|
3171
|
+
const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-CZHV2FAD.js");
|
|
3172
3172
|
const toolRegistry = getToolRegistryForAgent2(agentDef);
|
|
3173
3173
|
const turnMetrics = new TurnMetrics();
|
|
3174
3174
|
const result = await executeSubAgent({
|
|
@@ -4190,7 +4190,7 @@ var mcpConfigTool = createTool(
|
|
|
4190
4190
|
mcpNotifyChanged?.(sessionId);
|
|
4191
4191
|
}
|
|
4192
4192
|
async function rebuildTools() {
|
|
4193
|
-
const { setMcpTools: setMcpTools2 } = await import("./tools-
|
|
4193
|
+
const { setMcpTools: setMcpTools2 } = await import("./tools-CZHV2FAD.js");
|
|
4194
4194
|
const mcpTools = createMcpTools(mcpManagerForTools);
|
|
4195
4195
|
setMcpTools2(mcpTools);
|
|
4196
4196
|
}
|
|
@@ -5115,4 +5115,4 @@ export {
|
|
|
5115
5115
|
getToolRegistryForAgent,
|
|
5116
5116
|
createToolRegistry
|
|
5117
5117
|
};
|
|
5118
|
-
//# sourceMappingURL=chunk-
|
|
5118
|
+
//# sourceMappingURL=chunk-IQYI7TWF.js.map
|
|
@@ -321,6 +321,20 @@ function removeProvider(config, providerId) {
|
|
|
321
321
|
...config.defaultAgent !== void 0 ? { defaultAgent: config.defaultAgent } : {}
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
|
+
function reorderProviders(config, orderedIds) {
|
|
325
|
+
const currentProviders = config.providers ?? [];
|
|
326
|
+
const currentIds = currentProviders.map((p) => p.id);
|
|
327
|
+
const orderedSet = new Set(orderedIds);
|
|
328
|
+
const isPermutation = orderedSet.size === orderedIds.length && orderedIds.length === currentIds.length && orderedIds.every((id) => currentIds.includes(id));
|
|
329
|
+
if (!isPermutation) {
|
|
330
|
+
throw new Error("orderedIds must be a permutation of the current provider ids");
|
|
331
|
+
}
|
|
332
|
+
const idToProvider = new Map(currentProviders.map((p) => [p.id, p]));
|
|
333
|
+
return {
|
|
334
|
+
...config,
|
|
335
|
+
providers: orderedIds.map((id) => idToProvider.get(id))
|
|
336
|
+
};
|
|
337
|
+
}
|
|
324
338
|
function activateProvider(config, providerId) {
|
|
325
339
|
const provider = config.providers?.find((p) => p.id === providerId);
|
|
326
340
|
if (!provider) {
|
|
@@ -367,6 +381,7 @@ export {
|
|
|
367
381
|
addProvider,
|
|
368
382
|
updateProvider,
|
|
369
383
|
removeProvider,
|
|
384
|
+
reorderProviders,
|
|
370
385
|
activateProvider
|
|
371
386
|
};
|
|
372
|
-
//# sourceMappingURL=chunk-
|
|
387
|
+
//# sourceMappingURL=chunk-R5FAEKXQ.js.map
|
|
@@ -37,7 +37,7 @@ Options:
|
|
|
37
37
|
}
|
|
38
38
|
async function runNetworkSetup(mode) {
|
|
39
39
|
const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-GTGIGX5X.js");
|
|
40
|
-
const { saveGlobalConfig } = await import("./config-
|
|
40
|
+
const { saveGlobalConfig } = await import("./config-LOK3LXFH.js");
|
|
41
41
|
const { getAuthKeyPath } = await import("./paths-BHR7CZ7I.js");
|
|
42
42
|
const existingAuth = await loadAuthConfig(mode);
|
|
43
43
|
if (existingAuth) {
|
|
@@ -104,7 +104,7 @@ async function runNetworkSetup(mode) {
|
|
|
104
104
|
console.log("\u2713 Configuration saved!\n");
|
|
105
105
|
}
|
|
106
106
|
async function runConfig(mode) {
|
|
107
|
-
const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-
|
|
107
|
+
const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-LOK3LXFH.js");
|
|
108
108
|
const { getGlobalConfigPath } = await import("./paths-BHR7CZ7I.js");
|
|
109
109
|
const config = await loadGlobalConfig(mode);
|
|
110
110
|
const configPath = getGlobalConfigPath(mode);
|
|
@@ -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-726LD2KU.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-RCNZQCFG.js");
|
|
204
204
|
const code = await runUpdate();
|
|
205
205
|
if (code !== 0) {
|
|
206
206
|
process.exit(code);
|
|
@@ -208,12 +208,12 @@ async function runCli(options) {
|
|
|
208
208
|
break;
|
|
209
209
|
}
|
|
210
210
|
default: {
|
|
211
|
-
const { configFileExists } = await import("./config-
|
|
211
|
+
const { configFileExists } = await import("./config-LOK3LXFH.js");
|
|
212
212
|
const configExists = await configFileExists(mode);
|
|
213
213
|
if (!configExists) {
|
|
214
214
|
await runNetworkSetup(mode);
|
|
215
215
|
}
|
|
216
|
-
const { runServe } = await import("./serve-
|
|
216
|
+
const { runServe } = await import("./serve-OY3Y5PXK.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-TY3ONJE4.js.map
|