openfox 2.0.110 → 2.0.111
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 +19 -0
- package/README.md +1 -0
- package/dist/CHANGELOG.md +19 -0
- package/dist/{ask-CJMU6EW7.js → ask-ZYPCJKZD.js} +3 -2
- package/dist/{chat-handler-UZ7WTT6D.js → chat-handler-BYXZIIV3.js} +23 -22
- package/dist/{chunk-VJWWJEBX.js → chunk-3UILDGOO.js} +9 -9
- package/dist/{chunk-QRASX3HC.js → chunk-4DTV5JVI.js} +7 -7
- package/dist/{chunk-ZJW3KOII.js → chunk-A32COLEZ.js} +293 -98
- package/dist/{chunk-GNFDD6LN.js → chunk-BOSKQI62.js} +3 -3
- package/dist/{chunk-D6ODGTSZ.js → chunk-C372UH7N.js} +2 -1
- package/dist/{chunk-4ZXRERIW.js → chunk-C5NQF2K4.js} +46 -4
- package/dist/{chunk-3HS72YIE.js → chunk-ERYUSG5C.js} +2 -2
- package/dist/{chunk-PU3IPUSW.js → chunk-FFPCVN5M.js} +45 -8
- package/dist/{chunk-KDQJOI2I.js → chunk-FSYRANYR.js} +2 -2
- package/dist/chunk-GZOK3FAA.js +7 -0
- package/dist/chunk-IJ53Y77N.js +142 -0
- package/dist/{chunk-WCQOHRUX.js → chunk-JDT63SSP.js} +2 -2
- package/dist/{chunk-VT2X3DMC.js → chunk-JNHKKUGJ.js} +2 -2
- package/dist/{chunk-JAX5OEMM.js → chunk-JURM3RPZ.js} +21 -4
- package/dist/chunk-LCLH6ZUL.js +43 -0
- package/dist/{chunk-6EV7X5MP.js → chunk-N4RTAGFY.js} +2 -2
- package/dist/{chunk-LXYNP7LL.js → chunk-NB2D6I64.js} +221 -5
- package/dist/{chunk-VKWVPQJ5.js → chunk-OAN4BXEW.js} +3 -1
- package/dist/{chunk-4R7G5JB6.js → chunk-P45RJGOT.js} +1 -1
- package/dist/{chunk-E5HZKNTY.js → chunk-PCC4DBPF.js} +2 -2
- package/dist/{chunk-ACJNRPTO.js → chunk-QGXLZZBS.js} +29 -21
- package/dist/{chunk-UCYPPLVR.js → chunk-RAKPI4OE.js} +81 -70
- package/dist/{chunk-MM46DJJL.js → chunk-RISQXU32.js} +2 -2
- package/dist/{chunk-CQKRZ4WV.js → chunk-RKMP74BB.js} +4 -4
- package/dist/chunk-RSB4AR2A.js +108 -0
- package/dist/{chunk-VXKPZUCT.js → chunk-RT2A2RRL.js} +4 -2
- package/dist/{chunk-HK75Q3EA.js → chunk-SDGNV45R.js} +10 -10
- package/dist/{chunk-C5JJM72V.js → chunk-SVJFMZ2Q.js} +49 -5
- package/dist/{chunk-B5MH4HQ6.js → chunk-SYJMUIRC.js} +7 -3
- package/dist/{chunk-4HIFB7F5.js → chunk-XCK5IBO4.js} +37 -26
- package/dist/{chunk-5HMKLHTT.js → chunk-XWNCKIPO.js} +2 -2
- package/dist/{chunk-NORNB6IJ.js → chunk-Z56SEG4Z.js} +6 -6
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-LPNFUOPV.js → client-QNQTX5EA.js} +4 -4
- package/dist/{compactor-OSDLCGRC.js → compactor-X2KZ3XFU.js} +10 -9
- package/dist/{config-HX7FDKGJ.js → config-TW5FHQEM.js} +2 -2
- package/dist/{dynamic-context-WVA7HTEP.js → dynamic-context-ZRQO2FJN.js} +7 -7
- package/dist/{events-26J7BUSY.js → events-Y6XXQYFG.js} +7 -6
- package/dist/{folding-ZD4AMFNR.js → folding-Z4GNWRC3.js} +9 -6
- package/dist/{http-client-MQARNFY3.js → http-client-2GDKHZIG.js} +3 -3
- package/dist/{manager-RJH7EYIG.js → manager-HCMDFEQH.js} +4 -4
- package/dist/{model-overrides-BXMFIT47.js → model-overrides-O3ZYKFP7.js} +3 -3
- package/dist/oauth-provider-52YILVUJ.js +15 -0
- package/dist/oauth-store-XCFXV2VM.js +32 -0
- package/dist/{orchestrator-BW27C4K4.js → orchestrator-P5EUMC7E.js} +22 -21
- package/dist/package.json +11 -9
- package/dist/{path-security-AAZMH33K.js → path-security-525YLND3.js} +11 -9
- package/dist/{platform-EZJABX5J.js → platform-MEQUWG6U.js} +3 -3
- package/dist/{processor-FTCPHWBM.js → processor-UN4H4V7F.js} +22 -21
- package/dist/{protocol-_Gphic7p.d.ts → protocol-D6MISQyz.d.ts} +8 -3
- package/dist/{protocol-SPIJPOEN.js → protocol-FTHAR2YL.js} +4 -3
- package/dist/{provider-JS5P3HQ2.js → provider-3R4X62LW.js} +7 -7
- package/dist/{provider-manager-MWAIOX2A.js → provider-manager-W5N4XRE5.js} +5 -5
- package/dist/{registry-JJB5GXOM.js → registry-74KPZ5NV.js} +3 -3
- package/dist/{serve-XDZB4EJN.js → serve-V7WQKJ52.js} +32 -29
- package/dist/server/index.d.ts +15 -1
- package/dist/server/index.js +31 -28
- package/dist/server-7MOOJR2N.js +48 -0
- package/dist/{session-overrides-T47KXDDS.js → session-overrides-XH6I3COP.js} +5 -5
- package/dist/{sessions-YTWCOHI3.js → sessions-D772YTWL.js} +8 -4
- package/dist/{settings-2RZBMX5Y.js → settings-KO6DSJLD.js} +2 -2
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/{tools-KPIYFL5A.js → tools-HTUTYMKI.js} +20 -19
- package/dist/{update-75QZJYKD.js → update-MWPQNSEZ.js} +2 -2
- package/dist/{update-server-4I6LXE5K.js → update-server-LOOXIXDW.js} +2 -2
- package/dist/web/assets/{index-BmjVoqQT.js → index-Dukvfqm-.js} +83 -83
- package/dist/web/assets/{index-CyWbbpRP.css → index-nS1p0g8O.css} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/package.json +11 -9
- package/dist/chunk-64374FPB.js +0 -7
- package/dist/server-R6DDJNF3.js +0 -47
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.111 - 2026-08-03
|
|
4
|
+
|
|
5
|
+
### Enhancements
|
|
6
|
+
|
|
7
|
+
- **OAuth login for MCP servers** — servers that require OAuth authorization now connect through a browser-based login flow instead of failing
|
|
8
|
+
- **Manual model entry in the provider setup** — if a provider exposes no model list, type the model name directly instead of hitting a dead-end "No models found"
|
|
9
|
+
- **You choose when to restart after an update** — updates download first and restart on your OK; service installs can opt into automatic restart
|
|
10
|
+
- **Homepage loads faster** — the session list shows the five most recent per project up front and fills in the rest lazily
|
|
11
|
+
- **Leaner session storage** — finished tool-call streaming buffers are dropped from snapshots and stale backups auto-prune after 10 days
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
- **Tool calls no longer misread as interrupted** — an output that merely contains the interrupt marker text now shows as successful
|
|
16
|
+
- **Multi-statement shell commands keep their tails** — output is no longer cut at the first line for compound commands
|
|
17
|
+
- **Windows paths shorten to names again** — workspace and file names show their basename instead of the full path
|
|
18
|
+
- **Auto-compaction honors configured thresholds** — the internal cap is raised from 85%, so thresholds up to 95% work as set
|
|
19
|
+
- **Windows path-safety gaps closed** — dangerous commands outside the workdir are confirmed again in edge cases, including under Git Bash
|
|
20
|
+
- **Choice options survive reloads** — structured choices stay stable across page refreshes
|
|
21
|
+
|
|
3
22
|
## 2.0.110 - 2026-08-02
|
|
4
23
|
|
|
5
24
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -139,6 +139,7 @@ _Vision Fallback — Image processing configuration_
|
|
|
139
139
|
| `OPENFOX_LLM_IDLE_TIMEOUT` | `300000` | LLM stream idle timeout in ms |
|
|
140
140
|
| `OPENFOX_PORT` | `10369` | Server listen port |
|
|
141
141
|
| `OPENFOX_HOST` | `127.0.0.1` | Server bind host |
|
|
142
|
+
| `OPENFOX_PUBLIC_URL` | — | Public origin used to build the MCP OAuth redirect URI |
|
|
142
143
|
| `OPENFOX_WORKDIR` | `cwd` | Working directory |
|
|
143
144
|
| `OPENFOX_DB_PATH` | `./openfox.db` | SQLite database path |
|
|
144
145
|
| `OPENFOX_LOG_LEVEL` | `info` | Log level: `debug`, `info`, `warn`, `error` |
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.111 - 2026-08-03
|
|
4
|
+
|
|
5
|
+
### Enhancements
|
|
6
|
+
|
|
7
|
+
- **OAuth login for MCP servers** — servers that require OAuth authorization now connect through a browser-based login flow instead of failing
|
|
8
|
+
- **Manual model entry in the provider setup** — if a provider exposes no model list, type the model name directly instead of hitting a dead-end "No models found"
|
|
9
|
+
- **You choose when to restart after an update** — updates download first and restart on your OK; service installs can opt into automatic restart
|
|
10
|
+
- **Homepage loads faster** — the session list shows the five most recent per project up front and fills in the rest lazily
|
|
11
|
+
- **Leaner session storage** — finished tool-call streaming buffers are dropped from snapshots and stale backups auto-prune after 10 days
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
- **Tool calls no longer misread as interrupted** — an output that merely contains the interrupt marker text now shows as successful
|
|
16
|
+
- **Multi-statement shell commands keep their tails** — output is no longer cut at the first line for compound commands
|
|
17
|
+
- **Windows paths shorten to names again** — workspace and file names show their basename instead of the full path
|
|
18
|
+
- **Auto-compaction honors configured thresholds** — the internal cap is raised from 85%, so thresholds up to 95% work as set
|
|
19
|
+
- **Windows path-safety gaps closed** — dangerous commands outside the workdir are confirmed again in edge cases, including under Git Bash
|
|
20
|
+
- **Choice options survive reloads** — structured choices stay stable across page refreshes
|
|
21
|
+
|
|
3
22
|
## 2.0.110 - 2026-08-02
|
|
4
23
|
|
|
5
24
|
### Bug Fixes
|
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
getPendingQuestionsForSession,
|
|
8
8
|
hasPendingQuestion,
|
|
9
9
|
provideAnswer
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JURM3RPZ.js";
|
|
11
|
+
import "./chunk-LCLH6ZUL.js";
|
|
11
12
|
import "./chunk-5WRI5ZAA.js";
|
|
12
13
|
export {
|
|
13
14
|
AskUserInterrupt,
|
|
@@ -19,4 +20,4 @@ export {
|
|
|
19
20
|
hasPendingQuestion,
|
|
20
21
|
provideAnswer
|
|
21
22
|
};
|
|
22
|
-
//# sourceMappingURL=ask-
|
|
23
|
+
//# sourceMappingURL=ask-ZYPCJKZD.js.map
|
|
@@ -2,48 +2,49 @@ import {
|
|
|
2
2
|
buildRunChatTurnParams,
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3UILDGOO.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-SDGNV45R.js";
|
|
9
|
+
import "./chunk-Z56SEG4Z.js";
|
|
10
|
+
import "./chunk-RAKPI4OE.js";
|
|
11
|
+
import "./chunk-BOSKQI62.js";
|
|
12
12
|
import "./chunk-JR54MDZI.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-XWNCKIPO.js";
|
|
14
14
|
import "./chunk-33Q7LCVD.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-SVJFMZ2Q.js";
|
|
16
16
|
import "./chunk-I72ACQ6R.js";
|
|
17
17
|
import "./chunk-JE7LW7Y6.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-OAN4BXEW.js";
|
|
19
19
|
import "./chunk-FR5LUTLQ.js";
|
|
20
20
|
import "./chunk-J7GAZGZT.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-JDT63SSP.js";
|
|
22
|
+
import "./chunk-FFPCVN5M.js";
|
|
23
23
|
import {
|
|
24
24
|
getEventStore
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-NB2D6I64.js";
|
|
26
26
|
import {
|
|
27
27
|
createChatMessageMessage,
|
|
28
28
|
createPhaseChangedMessage,
|
|
29
29
|
createSessionRunningMessage
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
30
|
+
} from "./chunk-SYJMUIRC.js";
|
|
31
|
+
import "./chunk-N4RTAGFY.js";
|
|
32
|
+
import "./chunk-JURM3RPZ.js";
|
|
33
|
+
import "./chunk-RISQXU32.js";
|
|
34
34
|
import "./chunk-6FPGJR7O.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-QGXLZZBS.js";
|
|
36
|
+
import "./chunk-LCLH6ZUL.js";
|
|
37
|
+
import "./chunk-C5NQF2K4.js";
|
|
38
|
+
import "./chunk-JNHKKUGJ.js";
|
|
38
39
|
import "./chunk-J2GP3J3X.js";
|
|
39
40
|
import "./chunk-V4IE7HJY.js";
|
|
40
41
|
import "./chunk-YHEQTVFV.js";
|
|
41
42
|
import "./chunk-L737Y63F.js";
|
|
42
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-RT2A2RRL.js";
|
|
43
44
|
import "./chunk-LCQ5AN6Y.js";
|
|
44
45
|
import "./chunk-K44MW7JJ.js";
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-P45RJGOT.js";
|
|
47
|
+
import "./chunk-C372UH7N.js";
|
|
47
48
|
import "./chunk-CQGTEGKL.js";
|
|
48
49
|
import "./chunk-5WRI5ZAA.js";
|
|
49
50
|
|
|
@@ -166,4 +167,4 @@ export {
|
|
|
166
167
|
startChatSession,
|
|
167
168
|
stopSessionExecution
|
|
168
169
|
};
|
|
169
|
-
//# sourceMappingURL=chat-handler-
|
|
170
|
+
//# sourceMappingURL=chat-handler-BYXZIIV3.js.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
2
|
combineEventsWithSnapshot,
|
|
3
3
|
getEventStore
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NB2D6I64.js";
|
|
5
5
|
import {
|
|
6
6
|
createContextStateMessage,
|
|
7
7
|
createSessionStateMessage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SYJMUIRC.js";
|
|
9
9
|
import {
|
|
10
10
|
getPendingQuestionsForSession
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JURM3RPZ.js";
|
|
12
12
|
import {
|
|
13
13
|
buildMessagesFromStoredEvents,
|
|
14
14
|
foldPendingConfirmations
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QGXLZZBS.js";
|
|
16
16
|
import {
|
|
17
17
|
updateSessionMetadata
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-C5NQF2K4.js";
|
|
19
19
|
import {
|
|
20
20
|
getRuntimeConfig
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JNHKKUGJ.js";
|
|
22
22
|
import {
|
|
23
23
|
getMaxVisibleItems
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-RT2A2RRL.js";
|
|
25
25
|
import {
|
|
26
26
|
logger
|
|
27
27
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -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-QNQTX5EA.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-3UILDGOO.js.map
|
|
@@ -37,7 +37,7 @@ Options:
|
|
|
37
37
|
}
|
|
38
38
|
async function runNetworkSetup(mode) {
|
|
39
39
|
const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-YY5PJYSC.js");
|
|
40
|
-
const { saveGlobalConfig } = await import("./config-
|
|
40
|
+
const { saveGlobalConfig } = await import("./config-TW5FHQEM.js");
|
|
41
41
|
const { getAuthKeyPath } = await import("./paths-F27V3S4I.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-TW5FHQEM.js");
|
|
108
108
|
const { getGlobalConfigPath } = await import("./paths-F27V3S4I.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-3R4X62LW.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-MWPQNSEZ.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-TW5FHQEM.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-V7WQKJ52.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-4DTV5JVI.js.map
|