openfox 2.0.129 → 2.0.131
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 +44 -0
- package/README.md +2 -0
- package/dist/CHANGELOG.md +44 -0
- package/dist/auth-D3WLIBTG.js +19 -0
- package/dist/{auto-config-454YE6KC.js → auto-config-5VSNLVNI.js} +6 -5
- package/dist/{backend-4YPEC3J2.js → backend-NDBY3DAQ.js} +4 -2
- package/dist/{chat-handler-TH6JBO6G.js → chat-handler-RAIMQU7F.js} +35 -35
- package/dist/{chunk-ISE55FOR.js → chunk-2AI7VYPN.js} +11 -1
- package/dist/{chunk-HO7A7TMF.js → chunk-55DGZIZ6.js} +15 -5
- package/dist/{chunk-L24A6GZ7.js → chunk-5AI3LHRQ.js} +85 -57
- package/dist/{chunk-ZFNBATE3.js → chunk-6EZDW4JS.js} +3 -2
- package/dist/{chunk-ZXWJ6JTL.js → chunk-6MUSEPV7.js} +1197 -225
- package/dist/{chunk-OHTBWA7L.js → chunk-6SUBBT2M.js} +13 -13
- package/dist/{chunk-6LX43YRA.js → chunk-7ET46SNE.js} +4 -4
- package/dist/{chunk-GIJUWPRQ.js → chunk-7JVBDBXE.js} +2 -2
- package/dist/{chunk-MYNNMV75.js → chunk-7LGMQ5KS.js} +54 -36
- package/dist/{chunk-ZIL6VKLU.js → chunk-BKMWZTNO.js} +3 -3
- package/dist/chunk-BMBOSVRM.js +7 -0
- package/dist/{auth-GTGIGX5X.js → chunk-CQGJ5RWB.js} +4 -4
- package/dist/{chunk-3B232XG4.js → chunk-DPFET73G.js} +2 -2
- package/dist/chunk-DQTN4B33.js +235 -0
- package/dist/{chunk-KBESUA3W.js → chunk-ELYHHEYL.js} +3 -3
- package/dist/{chunk-DABWCAXS.js → chunk-EUOWCVU6.js} +19 -6
- package/dist/{chunk-YJD5A375.js → chunk-FGNJMKDV.js} +5 -5
- package/dist/{chunk-ATWOXI52.js → chunk-HCYSGLY2.js} +1 -1
- package/dist/{chunk-OYBUJIC3.js → chunk-JU757HVI.js} +5 -1
- package/dist/{chunk-AQBRI7TM.js → chunk-KWAHD2JA.js} +13 -8
- package/dist/{chunk-N2Q3KYWM.js → chunk-LQKXJPKP.js} +8 -3
- package/dist/{chunk-EHFIUXWZ.js → chunk-LW6MMSTD.js} +2 -2
- package/dist/{chunk-ZIYETXOW.js → chunk-M5T4RDPJ.js} +4 -4
- package/dist/{chunk-66MG44TF.js → chunk-MGEYAYGU.js} +2 -2
- package/dist/{chunk-RV5G7QQU.js → chunk-MQMPIXON.js} +3 -3
- package/dist/{chunk-K2QKX4ZJ.js → chunk-OA2FURC3.js} +8 -2
- package/dist/{chunk-567L5OJ6.js → chunk-P57IBMK4.js} +2 -2
- package/dist/{chunk-P6GTPKE5.js → chunk-QJG5K3X2.js} +278 -16
- package/dist/{chunk-2COZT3YI.js → chunk-RQPHGBWI.js} +24 -24
- package/dist/chunk-SVALN5KE.js +394 -0
- package/dist/{session-status-6Q5B5PEN.js → chunk-T3S5MTMD.js} +2 -3
- package/dist/{chunk-7YP4O4XE.js → chunk-TACWRDDC.js} +3 -3
- package/dist/{chunk-7ZMOP5LS.js → chunk-TS5WKTFB.js} +18 -1
- package/dist/{chunk-PBFGJFGC.js → chunk-UV6IH6HK.js} +32 -10
- package/dist/{chunk-7RIEI2TE.js → chunk-WCM5ZW5N.js} +52 -17
- package/dist/{chunk-Y3BSBKHY.js → chunk-XE6UC5Z3.js} +2 -2
- package/dist/{chunk-26WS7AH6.js → chunk-Y6ZGHOKM.js} +39 -7
- package/dist/chunk-YNMP647F.js +24 -0
- package/dist/{chunk-H6YIVK67.js → chunk-ZCFQOC3C.js} +26 -6
- package/dist/{chunk-IJFKJ5D6.js → chunk-ZL4IAFF3.js} +4 -4
- package/dist/{chunk-JQMQ4DGC.js → chunk-ZVHUISW7.js} +76 -32
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/client-E6QLHPHD.js +16 -0
- package/dist/{client-pure-GU2SV3DD.js → client-pure-FLKP6PTI.js} +2 -2
- package/dist/compactor-OEJAA2YP.js +32 -0
- package/dist/dynamic-context-Y555VDLA.js +52 -0
- package/dist/{events-GMHRX4LF.js → events-ZJPRGVL2.js} +9 -9
- package/dist/{folding-7K2GRPF4.js → folding-QRZOHY2I.js} +7 -7
- package/dist/http-client-P4XTKAZA.js +11 -0
- package/dist/{inspect-proxy-UKPU3Z64.js → inspect-proxy-A3OROWPG.js} +4 -4
- package/dist/launch-Y4H7FDU2.js +53 -0
- package/dist/{manager-NOKJQTTF.js → manager-TMBFBCQL.js} +5 -5
- package/dist/mcp-YU7AM3UV.js +120 -0
- package/dist/{model-catalog-ZLOWTQA7.js → model-catalog-2PCKTYGW.js} +2 -2
- package/dist/{oauth-provider-DGBC2YM6.js → oauth-provider-VHUS2KEG.js} +8 -2
- package/dist/orchestrator-SQN2SJ2A.js +64 -0
- package/dist/package.json +1 -1
- package/dist/{path-security-UDZ7UVWK.js → path-security-CBACXAMS.js} +13 -13
- package/dist/{platform-EMKWQTZX.js → platform-5LQXOZO3.js} +4 -4
- package/dist/plugins-registry.json +12 -0
- package/dist/{processor-7RDR675X.js → processor-MEHODYNE.js} +34 -34
- package/dist/{profiles-HXGJIPF2.js → profiles-EBCVFYG7.js} +2 -2
- package/dist/{project-creator-JF3YVQAH.js → project-creator-6AGQTNXB.js} +3 -3
- package/dist/{projects-TPSLCJP2.js → projects-5U37RUTL.js} +3 -3
- package/dist/{protocol-DMneA8mx.d.ts → protocol-BMUoqwYH.d.ts} +2 -1
- package/dist/{protocol-TS3GVTT3.js → protocol-Y7MRKRUO.js} +3 -3
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-DXEICEIE.js → provider-6YRII4IV.js} +11 -11
- package/dist/{provider-manager-PU7RS2TK.js → provider-manager-URNJBK5Q.js} +11 -11
- package/dist/{registry-Z4GVYFTV.js → registry-CMSSZHDC.js} +5 -5
- package/dist/{serve-Z5ITDPCQ.js → serve-NPADSJG7.js} +45 -43
- package/dist/server/index.d.ts +28 -4
- package/dist/server/index.js +42 -40
- package/dist/server-5TY22HDN.js +56 -0
- package/dist/service-VPXGREXF.js +27 -0
- package/dist/{session-overrides-4WAD3X5Q.js → session-overrides-OECQYRDK.js} +7 -7
- package/dist/session-status-UFO5IFI7.js +10 -0
- package/dist/{sessions-D7VRCHQY.js → sessions-NMPX5ICI.js} +6 -6
- package/dist/{settings-VOWWO4VG.js → settings-MDCRNQBY.js} +3 -3
- package/dist/shared/index.d.ts +3 -3
- package/dist/shared/index.js +1 -1
- package/dist/skill-defaults/browser/SKILL.md +20 -1
- package/dist/{tasks-SE3DOPVP.js → tasks-MNPXK2S5.js} +14 -14
- package/dist/{tools-6XUSIJN2.js → tools-6BDT5YMT.js} +37 -37
- package/dist/{types-PAKlAzp9.d.ts → types-BIkpxjaj.d.ts} +11 -2
- package/dist/{types-BWuVnaBw.d.ts → types-CoY8Ka1C.d.ts} +1 -1
- package/dist/{update-EJUI6PSV.js → update-XKCOBE47.js} +2 -2
- package/dist/web/assets/{index-CGKd7WLQ.js → index-Bx5r3aJx.js} +88 -88
- package/dist/web/assets/{index-CbX8veVW.css → index-Y300llHY.css} +1 -1
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-6CUE26YA.js → workspace-LM646OHC.js} +4 -4
- package/package.json +1 -1
- package/plugins-registry.json +12 -0
- package/dist/chunk-HIRDDCPD.js +0 -7
- package/dist/chunk-PHP7PLFX.js +0 -151
- package/dist/chunk-RSB4AR2A.js +0 -108
- package/dist/client-RZGGDGUA.js +0 -16
- package/dist/compactor-WKFNTUXL.js +0 -32
- package/dist/dynamic-context-ZVE733UI.js +0 -28
- package/dist/http-client-ROVNSHF6.js +0 -11
- package/dist/launch-5ARSU7EM.js +0 -53
- package/dist/orchestrator-E6GIZGEN.js +0 -64
- package/dist/server-MUJ7EHEI.js +0 -56
- package/dist/service-INQWTYY2.js +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.131 - 2026-08-28
|
|
4
|
+
|
|
5
|
+
### Enhancements
|
|
6
|
+
|
|
7
|
+
- **Tool-change reminders embed full schemas** — added and changed tools carry their exact JSON definition, so no rebase is needed to act on them
|
|
8
|
+
- **Rebase system prompt shows a pending badge** — a "changes" indicator lights up the rebase action whenever drift awaits your approval
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
- **Tool changes no longer wipe the prefix cache** — deep context caching survives releases and restarts, so 400k-token sessions skip the full re-prefill
|
|
13
|
+
- **No spurious prompt-diff checks after restart** — only a tool change no longer trips the prompt drift detector
|
|
14
|
+
|
|
15
|
+
## 2.0.130 - 2026-08-28
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- **Drive OpenFox sessions from any MCP client** — a built-in MCP server exposes `openfox_*` tools to run agents, manage sessions and workflows, plus an `openfox mcp` command that prints a paste-ready client config
|
|
20
|
+
- **Merge multi-mode model variants into a single model** — OmniRoute-style families (`*-low/-medium/-high`) collapse into one model with mode chips, mapped to the right provider ID per effort
|
|
21
|
+
- **Agent sees tool and prompt changes instantly** — system-reminder diffs are injected at the point of contention mid-session
|
|
22
|
+
- **Header icons collapse into a mobile menu** — cleaner navigation on small screens
|
|
23
|
+
- **New plugin registry entries** — openfox-openrouter-free and openfox-opencode-free
|
|
24
|
+
|
|
25
|
+
### Enhancements
|
|
26
|
+
|
|
27
|
+
- **Full reasoning-effort control on OpenAI gpt-5** — tools and effort work together via the Responses API, no more forced "none"
|
|
28
|
+
- **Vision-capable models get an eye indicator** — auto-detected from the backend and shown across the model lists
|
|
29
|
+
- **MCP tool changes previewed in the system prompt** — the preview lists exactly which tools were added/removed
|
|
30
|
+
- **OAuth authorize completes instantly in the UI** — the callback tab notifies the app via BroadcastChannel, no paste-back needed
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
- **OpenAI provider no longer fails LLM calls** — gpt-5.x uses max_completion_tokens, thinking no longer sends chat_template_kwargs, and api.openai.com/anthropic.com providers auto-detect their backend without a re-save
|
|
35
|
+
- **OpenCode Go Responses-API models now work** — gpt-5.6-luna, grok-4.6 and muse-spark route to /v1/responses instead of the rejecting chat endpoint
|
|
36
|
+
- **Responses routing is backend-aware** — vLLM, Ollama and friends never hit /v1/responses
|
|
37
|
+
- **Session list no longer shrinks after delete/rename/favorite** — reloads are scoped to the active project
|
|
38
|
+
- **Session history defaults to a 300-message limit** — fresh installs no longer send unlimited history; explicit 0 stays opt-in unlimited
|
|
39
|
+
- **Logout actually logs out** — clears the token, closes the WebSocket and stops auto-reconnect
|
|
40
|
+
- **MCP OAuth reconnects no longer clobber pending authorizations** — background probes use in-memory state; stale client registrations are auto-detected and cleared
|
|
41
|
+
- **MCP server list refreshes reliably in the UI** — the tools tab updates immediately after server changes
|
|
42
|
+
- **Sub-agent window no longer shows the main session's compaction badge** — and no longer overlaps on narrow panes
|
|
43
|
+
- **No more false path confirmations from heredoc bodies** — path extraction ignores heredocs
|
|
44
|
+
- **Removed fake provider-defaults fields** — dead thinking/non-thinking params are gone, pointing to the real per-model settings
|
|
45
|
+
- **Merged mode-chip models survive catalog refresh** — no re-expanding after a re-fetch
|
|
46
|
+
|
|
3
47
|
## 2.0.129 - 2026-08-25
|
|
4
48
|
|
|
5
49
|
### Features
|
package/README.md
CHANGED
|
@@ -100,6 +100,8 @@ Restart OpenFox after installing or updating a plugin.
|
|
|
100
100
|
- To authenticate with a Github copilot account, you can install the [`openfox-github-copilot`](https://github.com/JamesDAdams/openfox-github-copilot) plugin.
|
|
101
101
|
- To authenticate with a Google Antigravity account, you can install the [`openfox-google-antigravity`](https://github.com/JamesDAdams/openfox-google-antigravity) plugin.
|
|
102
102
|
- To authenticate with an X (xAI) SuperGrok subscription, you can install the [`openfox-xai-supergrok`](https://github.com/Olgean-Group/openfox-xai-supergrok) plugin.
|
|
103
|
+
- To use free OpenRouter models, you can install the [`openfox-openrouter-free`](https://github.com/JamesDAdams/openfox-openrouter-free) plugin.
|
|
104
|
+
- To use free OpenCode models, you can install the [`openfox-opencode-free`](https://github.com/JamesDAdams/openfox-opencode-free) plugin.
|
|
103
105
|
|
|
104
106
|
## Screenshots
|
|
105
107
|
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.131 - 2026-08-28
|
|
4
|
+
|
|
5
|
+
### Enhancements
|
|
6
|
+
|
|
7
|
+
- **Tool-change reminders embed full schemas** — added and changed tools carry their exact JSON definition, so no rebase is needed to act on them
|
|
8
|
+
- **Rebase system prompt shows a pending badge** — a "changes" indicator lights up the rebase action whenever drift awaits your approval
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
- **Tool changes no longer wipe the prefix cache** — deep context caching survives releases and restarts, so 400k-token sessions skip the full re-prefill
|
|
13
|
+
- **No spurious prompt-diff checks after restart** — only a tool change no longer trips the prompt drift detector
|
|
14
|
+
|
|
15
|
+
## 2.0.130 - 2026-08-28
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- **Drive OpenFox sessions from any MCP client** — a built-in MCP server exposes `openfox_*` tools to run agents, manage sessions and workflows, plus an `openfox mcp` command that prints a paste-ready client config
|
|
20
|
+
- **Merge multi-mode model variants into a single model** — OmniRoute-style families (`*-low/-medium/-high`) collapse into one model with mode chips, mapped to the right provider ID per effort
|
|
21
|
+
- **Agent sees tool and prompt changes instantly** — system-reminder diffs are injected at the point of contention mid-session
|
|
22
|
+
- **Header icons collapse into a mobile menu** — cleaner navigation on small screens
|
|
23
|
+
- **New plugin registry entries** — openfox-openrouter-free and openfox-opencode-free
|
|
24
|
+
|
|
25
|
+
### Enhancements
|
|
26
|
+
|
|
27
|
+
- **Full reasoning-effort control on OpenAI gpt-5** — tools and effort work together via the Responses API, no more forced "none"
|
|
28
|
+
- **Vision-capable models get an eye indicator** — auto-detected from the backend and shown across the model lists
|
|
29
|
+
- **MCP tool changes previewed in the system prompt** — the preview lists exactly which tools were added/removed
|
|
30
|
+
- **OAuth authorize completes instantly in the UI** — the callback tab notifies the app via BroadcastChannel, no paste-back needed
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
- **OpenAI provider no longer fails LLM calls** — gpt-5.x uses max_completion_tokens, thinking no longer sends chat_template_kwargs, and api.openai.com/anthropic.com providers auto-detect their backend without a re-save
|
|
35
|
+
- **OpenCode Go Responses-API models now work** — gpt-5.6-luna, grok-4.6 and muse-spark route to /v1/responses instead of the rejecting chat endpoint
|
|
36
|
+
- **Responses routing is backend-aware** — vLLM, Ollama and friends never hit /v1/responses
|
|
37
|
+
- **Session list no longer shrinks after delete/rename/favorite** — reloads are scoped to the active project
|
|
38
|
+
- **Session history defaults to a 300-message limit** — fresh installs no longer send unlimited history; explicit 0 stays opt-in unlimited
|
|
39
|
+
- **Logout actually logs out** — clears the token, closes the WebSocket and stops auto-reconnect
|
|
40
|
+
- **MCP OAuth reconnects no longer clobber pending authorizations** — background probes use in-memory state; stale client registrations are auto-detected and cleared
|
|
41
|
+
- **MCP server list refreshes reliably in the UI** — the tools tab updates immediately after server changes
|
|
42
|
+
- **Sub-agent window no longer shows the main session's compaction badge** — and no longer overlaps on narrow panes
|
|
43
|
+
- **No more false path confirmations from heredoc bodies** — path extraction ignores heredocs
|
|
44
|
+
- **Removed fake provider-defaults fields** — dead thinking/non-thinking params are gone, pointing to the real per-model settings
|
|
45
|
+
- **Merged mode-chip models survive catalog refresh** — no re-expanding after a re-fetch
|
|
46
|
+
|
|
3
47
|
## 2.0.129 - 2026-08-25
|
|
4
48
|
|
|
5
49
|
### Features
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
authConfigExists,
|
|
3
|
+
encryptPassword,
|
|
4
|
+
hashPassword,
|
|
5
|
+
loadAuthConfig,
|
|
6
|
+
saveAuthConfig,
|
|
7
|
+
verifyPassword
|
|
8
|
+
} from "./chunk-CQGJ5RWB.js";
|
|
9
|
+
import "./chunk-CQGTEGKL.js";
|
|
10
|
+
import "./chunk-YLJ4XMA6.js";
|
|
11
|
+
export {
|
|
12
|
+
authConfigExists,
|
|
13
|
+
encryptPassword,
|
|
14
|
+
hashPassword,
|
|
15
|
+
loadAuthConfig,
|
|
16
|
+
saveAuthConfig,
|
|
17
|
+
verifyPassword
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=auth-D3WLIBTG.js.map
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
-
findLmStudioModel
|
|
3
|
-
|
|
2
|
+
findLmStudioModel,
|
|
3
|
+
hasVisionEvidence
|
|
4
|
+
} from "./chunk-OA2FURC3.js";
|
|
4
5
|
import {
|
|
5
6
|
ensureVersionPrefix
|
|
6
7
|
} from "./chunk-HNCM3D7Y.js";
|
|
7
8
|
import {
|
|
8
9
|
getCatalogEntry
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2AI7VYPN.js";
|
|
10
11
|
import {
|
|
11
12
|
logger
|
|
12
13
|
} from "./chunk-K44MW7JJ.js";
|
|
@@ -99,7 +100,7 @@ async function detectOllamaInfo(baseUrl, modelId) {
|
|
|
99
100
|
const mi = data.model_info ?? {};
|
|
100
101
|
const ctxKey = Object.keys(mi).find((k) => k.endsWith(".context_length") || k === "context_length");
|
|
101
102
|
const ctxLen = ctxKey ? Number(mi[ctxKey]) : void 0;
|
|
102
|
-
const supportsVision =
|
|
103
|
+
const supportsVision = hasVisionEvidence(mi);
|
|
103
104
|
if (ctxLen && !isNaN(ctxLen)) {
|
|
104
105
|
return { contextWindow: ctxLen, source: "backend", supportsVision };
|
|
105
106
|
}
|
|
@@ -307,4 +308,4 @@ async function autoConfig(input) {
|
|
|
307
308
|
export {
|
|
308
309
|
autoConfig
|
|
309
310
|
};
|
|
310
|
-
//# sourceMappingURL=auto-config-
|
|
311
|
+
//# sourceMappingURL=auto-config-5VSNLVNI.js.map
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
+
detectBackendFromUrl,
|
|
2
3
|
getBackendCapabilities,
|
|
3
4
|
getBackendDisplayName
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UV6IH6HK.js";
|
|
5
6
|
import "./chunk-YLJ4XMA6.js";
|
|
6
7
|
export {
|
|
8
|
+
detectBackendFromUrl,
|
|
7
9
|
getBackendCapabilities,
|
|
8
10
|
getBackendDisplayName
|
|
9
11
|
};
|
|
10
|
-
//# sourceMappingURL=backend-
|
|
12
|
+
//# sourceMappingURL=backend-NDBY3DAQ.js.map
|
|
@@ -2,55 +2,55 @@ import {
|
|
|
2
2
|
buildRunChatTurnParams,
|
|
3
3
|
finalizeTurnCompletion,
|
|
4
4
|
generateSessionNameForSession
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6SUBBT2M.js";
|
|
6
6
|
import {
|
|
7
7
|
runChatTurn
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-WCM5ZW5N.js";
|
|
9
|
+
import "./chunk-5AI3LHRQ.js";
|
|
10
|
+
import "./chunk-XE6UC5Z3.js";
|
|
11
|
+
import "./chunk-J7GAZGZT.js";
|
|
12
|
+
import "./chunk-ZCFQOC3C.js";
|
|
13
|
+
import "./chunk-TACWRDDC.js";
|
|
14
|
+
import "./chunk-7ET46SNE.js";
|
|
15
|
+
import "./chunk-LW6MMSTD.js";
|
|
16
|
+
import "./chunk-MQMPIXON.js";
|
|
16
17
|
import "./chunk-I72ACQ6R.js";
|
|
17
18
|
import "./chunk-JE7LW7Y6.js";
|
|
18
19
|
import "./chunk-OAN4BXEW.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-SVALN5KE.js";
|
|
21
|
+
import "./chunk-BKMWZTNO.js";
|
|
22
|
+
import "./chunk-7JVBDBXE.js";
|
|
23
|
+
import "./chunk-JURM3RPZ.js";
|
|
24
|
+
import "./chunk-Y6ZGHOKM.js";
|
|
24
25
|
import {
|
|
25
26
|
getEventStore
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-FGNJMKDV.js";
|
|
28
|
+
import "./chunk-M5T4RDPJ.js";
|
|
29
|
+
import "./chunk-KWAHD2JA.js";
|
|
30
|
+
import "./chunk-ELYHHEYL.js";
|
|
31
|
+
import "./chunk-OSXPQSLW.js";
|
|
29
32
|
import {
|
|
30
33
|
createChatMessageMessage,
|
|
31
34
|
createPhaseChangedMessage,
|
|
32
35
|
createSessionRunningMessage
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-66MG44TF.js";
|
|
35
|
-
import "./chunk-JURM3RPZ.js";
|
|
36
|
+
} from "./chunk-P57IBMK4.js";
|
|
36
37
|
import "./chunk-LCLH6ZUL.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-MGEYAYGU.js";
|
|
39
|
+
import "./chunk-ZVHUISW7.js";
|
|
40
|
+
import "./chunk-OA2FURC3.js";
|
|
39
41
|
import "./chunk-J2GP3J3X.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-7ZMOP5LS.js";
|
|
45
|
-
import "./chunk-PBFGJFGC.js";
|
|
42
|
+
import "./chunk-DPFET73G.js";
|
|
43
|
+
import "./chunk-QJG5K3X2.js";
|
|
44
|
+
import "./chunk-TS5WKTFB.js";
|
|
45
|
+
import "./chunk-UV6IH6HK.js";
|
|
46
46
|
import "./chunk-HNCM3D7Y.js";
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-EUOWCVU6.js";
|
|
48
|
+
import "./chunk-6EZDW4JS.js";
|
|
49
|
+
import "./chunk-LQKXJPKP.js";
|
|
50
|
+
import "./chunk-JU757HVI.js";
|
|
51
|
+
import "./chunk-2AI7VYPN.js";
|
|
52
52
|
import "./chunk-K44MW7JJ.js";
|
|
53
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-HCYSGLY2.js";
|
|
54
54
|
import "./chunk-R5FAEKXQ.js";
|
|
55
55
|
import "./chunk-CQGTEGKL.js";
|
|
56
56
|
import "./chunk-YLJ4XMA6.js";
|
|
@@ -174,4 +174,4 @@ export {
|
|
|
174
174
|
startChatSession,
|
|
175
175
|
stopSessionExecution
|
|
176
176
|
};
|
|
177
|
-
//# sourceMappingURL=chat-handler-
|
|
177
|
+
//# sourceMappingURL=chat-handler-RAIMQU7F.js.map
|
|
@@ -22,6 +22,15 @@ function resolveEffortForModel({
|
|
|
22
22
|
if (override) return override;
|
|
23
23
|
return defaultEffort && reasoningEfforts.includes(defaultEffort) ? defaultEffort : void 0;
|
|
24
24
|
}
|
|
25
|
+
var MODE_SUFFIXES = ["low", "medium", "high", "xhigh", "max"];
|
|
26
|
+
var MODE_SUFFIX_REGEX = new RegExp(`-(${MODE_SUFFIXES.join("|")})$`);
|
|
27
|
+
function resolveModeModelId(modes, effort, fallbackApiModelId, modelId) {
|
|
28
|
+
const modeEntry = modes?.find((mode) => mode.level === effort);
|
|
29
|
+
if (modeEntry) {
|
|
30
|
+
return { modelId: modeEntry.apiModelId, suppressEffort: true };
|
|
31
|
+
}
|
|
32
|
+
return { modelId: fallbackApiModelId ?? modelId, suppressEffort: false };
|
|
33
|
+
}
|
|
25
34
|
|
|
26
35
|
// src/server/providers/model-catalog.ts
|
|
27
36
|
var CATALOG = [
|
|
@@ -83,7 +92,8 @@ export {
|
|
|
83
92
|
REASONING_EFFORT_VALUES,
|
|
84
93
|
isReasoningEffortValue,
|
|
85
94
|
resolveEffortForModel,
|
|
95
|
+
resolveModeModelId,
|
|
86
96
|
getCatalogEntry,
|
|
87
97
|
getCatalogDefaultEffort
|
|
88
98
|
};
|
|
89
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-2AI7VYPN.js.map
|
|
@@ -25,6 +25,7 @@ Commands:
|
|
|
25
25
|
provider remove Remove a provider
|
|
26
26
|
service Manage the systemd service (install, start, stop, status, logs, uninstall)
|
|
27
27
|
pwa Manage the PWA installation (install, uninstall, launch, update, status)
|
|
28
|
+
mcp Print a paste-ready MCP client config for this server (asks for the password if set)
|
|
28
29
|
install Install a persistent OpenFox launcher (use --check to inspect)
|
|
29
30
|
update Update OpenFox to the latest version
|
|
30
31
|
|
|
@@ -36,7 +37,7 @@ Options:
|
|
|
36
37
|
`);
|
|
37
38
|
}
|
|
38
39
|
async function runNetworkSetup(mode) {
|
|
39
|
-
const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-
|
|
40
|
+
const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-D3WLIBTG.js");
|
|
40
41
|
const { saveGlobalConfig } = await import("./config-LOK3LXFH.js");
|
|
41
42
|
const { getAuthKeyPath } = await import("./paths-BHR7CZ7I.js");
|
|
42
43
|
const existingAuth = await loadAuthConfig(mode);
|
|
@@ -131,6 +132,7 @@ async function runCli(options) {
|
|
|
131
132
|
const { values, positionals } = parseArgs({
|
|
132
133
|
options: {
|
|
133
134
|
port: { type: "string", short: "p" },
|
|
135
|
+
password: { type: "string" },
|
|
134
136
|
"no-browser": { type: "boolean" },
|
|
135
137
|
help: { type: "boolean", short: "h" },
|
|
136
138
|
version: { type: "boolean", short: "v" },
|
|
@@ -163,7 +165,7 @@ async function runCli(options) {
|
|
|
163
165
|
break;
|
|
164
166
|
}
|
|
165
167
|
case "provider": {
|
|
166
|
-
const { runProviderCommand } = await import("./provider-
|
|
168
|
+
const { runProviderCommand } = await import("./provider-6YRII4IV.js");
|
|
167
169
|
const [, subcommand] = positionals;
|
|
168
170
|
await runProviderCommand(mode, subcommand);
|
|
169
171
|
break;
|
|
@@ -191,6 +193,14 @@ async function runCli(options) {
|
|
|
191
193
|
}
|
|
192
194
|
break;
|
|
193
195
|
}
|
|
196
|
+
case "mcp": {
|
|
197
|
+
const { runMcpCommand } = await import("./mcp-YU7AM3UV.js");
|
|
198
|
+
const mcpOptions = {};
|
|
199
|
+
if (values.password) mcpOptions.password = values.password;
|
|
200
|
+
if (values.port) mcpOptions.port = parseInt(values.port);
|
|
201
|
+
await runMcpCommand(mode, mcpOptions);
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
194
204
|
case "install": {
|
|
195
205
|
const { runInstall } = await import("./install-VA2F6X6Z.js");
|
|
196
206
|
const code = await runInstall({ check: values.check === true });
|
|
@@ -200,7 +210,7 @@ async function runCli(options) {
|
|
|
200
210
|
break;
|
|
201
211
|
}
|
|
202
212
|
case "update": {
|
|
203
|
-
const { runUpdate } = await import("./update-
|
|
213
|
+
const { runUpdate } = await import("./update-XKCOBE47.js");
|
|
204
214
|
const code = await runUpdate();
|
|
205
215
|
if (code !== 0) {
|
|
206
216
|
process.exit(code);
|
|
@@ -213,7 +223,7 @@ async function runCli(options) {
|
|
|
213
223
|
if (!configExists) {
|
|
214
224
|
await runNetworkSetup(mode);
|
|
215
225
|
}
|
|
216
|
-
const { runServe } = await import("./serve-
|
|
226
|
+
const { runServe } = await import("./serve-NPADSJG7.js");
|
|
217
227
|
const serveOptions = { mode };
|
|
218
228
|
if (values.port) serveOptions.port = parseInt(values.port);
|
|
219
229
|
if (values["no-browser"] === true) serveOptions.openBrowser = false;
|
|
@@ -225,4 +235,4 @@ async function runCli(options) {
|
|
|
225
235
|
export {
|
|
226
236
|
runCli
|
|
227
237
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
238
|
+
//# sourceMappingURL=chunk-55DGZIZ6.js.map
|