openfox 2.0.0-beta.7 → 2.0.0-beta.9

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.
@@ -2,6 +2,22 @@ import {
2
2
  logger
3
3
  } from "./chunk-K44MW7JJ.js";
4
4
 
5
+ // src/server/llm/url-utils.ts
6
+ var VERSION_PREFIX_REGEX = /\/v\d+(\/|$)/;
7
+ function hasVersionPrefix(url) {
8
+ return VERSION_PREFIX_REGEX.test(url);
9
+ }
10
+ function ensureVersionPrefix(url, defaultVersion = "/v1") {
11
+ if (hasVersionPrefix(url)) return url;
12
+ return `${url.replace(/\/+$/, "")}${defaultVersion}`;
13
+ }
14
+ function stripVersionPrefix(url) {
15
+ return url.replace(/\/v\d+\/?$/, "");
16
+ }
17
+ function buildModelsUrl(baseUrl) {
18
+ return `${ensureVersionPrefix(baseUrl)}/models`;
19
+ }
20
+
5
21
  // src/server/llm/backend.ts
6
22
  var BACKEND_CAPABILITIES = {
7
23
  vllm: {
@@ -48,7 +64,7 @@ async function detectBackend(baseUrl, explicitBackend, silent = false) {
48
64
  }
49
65
  return explicitBackend;
50
66
  }
51
- const probeUrl = baseUrl.replace(/\/v1\/?$/, "");
67
+ const probeUrl = stripVersionPrefix(baseUrl);
52
68
  try {
53
69
  if (await probeOllama(probeUrl)) {
54
70
  if (silent) {
@@ -137,7 +153,7 @@ async function probeSGLang(baseUrl) {
137
153
  }
138
154
  async function probeOpenAI(baseUrl) {
139
155
  try {
140
- const url = baseUrl.includes("/v1") ? baseUrl : `${baseUrl}/v1`;
156
+ const url = ensureVersionPrefix(baseUrl);
141
157
  const response = await fetch(`${url}/models`, {
142
158
  signal: AbortSignal.timeout(5e3)
143
159
  });
@@ -633,6 +649,9 @@ async function* streamWithSegments(client, request) {
633
649
  export {
634
650
  getModelProfile,
635
651
  modelSupportsVision,
652
+ ensureVersionPrefix,
653
+ stripVersionPrefix,
654
+ buildModelsUrl,
636
655
  getBackendCapabilities,
637
656
  detectBackend,
638
657
  getBackendDisplayName,
@@ -643,4 +662,4 @@ export {
643
662
  extractThinking,
644
663
  streamWithSegments
645
664
  };
646
- //# sourceMappingURL=chunk-7FDY3EOH.js.map
665
+ //# sourceMappingURL=chunk-VIIRNJDT.js.map
package/dist/cli/dev.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-KAYUPVHQ.js";
4
+ } from "../chunk-KUG27ZUR.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-KAYUPVHQ.js";
4
+ } from "../chunk-KUG27ZUR.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -14,9 +14,9 @@ import {
14
14
  setDefaultModelSelection,
15
15
  trySmartDefaults,
16
16
  updateProvider
17
- } from "./chunk-2ZS2B5HW.js";
18
- import "./chunk-EMJGF3A7.js";
19
- import "./chunk-7FDY3EOH.js";
17
+ } from "./chunk-EZUR7OEP.js";
18
+ import "./chunk-UKTPL5ZG.js";
19
+ import "./chunk-VIIRNJDT.js";
20
20
  import "./chunk-K44MW7JJ.js";
21
21
  import "./chunk-CQGTEGKL.js";
22
22
  export {
@@ -36,4 +36,4 @@ export {
36
36
  trySmartDefaults,
37
37
  updateProvider
38
38
  };
39
- //# sourceMappingURL=config-QUT7YZQ7.js.map
39
+ //# sourceMappingURL=config-TDVA7MQN.js.map
@@ -2,7 +2,7 @@ import {
2
2
  injectWorkflowKickoffIfNeeded,
3
3
  runAgentTurn,
4
4
  runChatTurn
5
- } from "./chunk-DFITQ75T.js";
5
+ } from "./chunk-C75I2KZM.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  createChatDoneEvent,
@@ -10,7 +10,7 @@ import {
10
10
  createMessageStartEvent,
11
11
  createToolCallEvent,
12
12
  createToolResultEvent
13
- } from "./chunk-QN5ST54E.js";
13
+ } from "./chunk-LR5R7EEE.js";
14
14
  import "./chunk-DL6ZILAF.js";
15
15
  import "./chunk-PBGOZMVY.js";
16
16
  import "./chunk-VRGRAQDG.js";
@@ -22,7 +22,7 @@ import "./chunk-RFNEDBVO.js";
22
22
  import "./chunk-XAMAYRDA.js";
23
23
  import "./chunk-FBGWG4N6.js";
24
24
  import "./chunk-BVHFMAVN.js";
25
- import "./chunk-7FDY3EOH.js";
25
+ import "./chunk-VIIRNJDT.js";
26
26
  import "./chunk-K44MW7JJ.js";
27
27
  import "./chunk-CQGTEGKL.js";
28
28
  export {
@@ -36,4 +36,4 @@ export {
36
36
  runAgentTurn,
37
37
  runChatTurn
38
38
  };
39
- //# sourceMappingURL=orchestrator-GAOENX5Q.js.map
39
+ //# sourceMappingURL=orchestrator-ZNGTMZ7W.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.0-beta.7",
3
+ "version": "2.0.0-beta.9",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -176,7 +176,7 @@ var QueueProcessor = class {
176
176
  backend: provider?.backend ?? llmClient.getBackend(),
177
177
  model: llmClient.getModel()
178
178
  };
179
- const { runChatTurn } = await import("./orchestrator-GAOENX5Q.js");
179
+ const { runChatTurn } = await import("./orchestrator-ZNGTMZ7W.js");
180
180
  const runChatTurnParams = buildRunChatTurnParams({
181
181
  sessionManager,
182
182
  sessionId,
@@ -220,4 +220,4 @@ var QueueProcessor = class {
220
220
  export {
221
221
  QueueProcessor
222
222
  };
223
- //# sourceMappingURL=processor-6VIYGURD.js.map
223
+ //# sourceMappingURL=processor-WMAU4C2N.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fetchAvailableModelsFromBackend
3
- } from "./chunk-IGSZUXQP.js";
3
+ } from "./chunk-DMH6JVPF.js";
4
4
  import {
5
5
  activateProvider,
6
6
  addProvider,
@@ -8,13 +8,13 @@ import {
8
8
  loadGlobalConfig,
9
9
  removeProvider,
10
10
  saveGlobalConfig
11
- } from "./chunk-2ZS2B5HW.js";
11
+ } from "./chunk-EZUR7OEP.js";
12
12
  import {
13
13
  detectModel
14
- } from "./chunk-EMJGF3A7.js";
14
+ } from "./chunk-UKTPL5ZG.js";
15
15
  import {
16
16
  detectBackend
17
- } from "./chunk-7FDY3EOH.js";
17
+ } from "./chunk-VIIRNJDT.js";
18
18
  import "./chunk-K44MW7JJ.js";
19
19
  import "./chunk-CQGTEGKL.js";
20
20
 
@@ -263,7 +263,7 @@ async function runProviderAdd(mode) {
263
263
  isActive: makeActive
264
264
  });
265
265
  if (makeActive) {
266
- const { setDefaultModelSelection } = await import("./config-QUT7YZQ7.js");
266
+ const { setDefaultModelSelection } = await import("./config-TDVA7MQN.js");
267
267
  newConfig = setDefaultModelSelection(
268
268
  newConfig,
269
269
  newConfig.providers[newConfig.providers.length - 1].id,
@@ -391,4 +391,4 @@ export {
391
391
  runProviderRemove,
392
392
  runProviderUse
393
393
  };
394
- //# sourceMappingURL=provider-4T6BVPMD.js.map
394
+ //# sourceMappingURL=provider-BGH4MBLH.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  VERSION,
3
3
  createServer
4
- } from "./chunk-LN22TXNK.js";
4
+ } from "./chunk-J2FFLZ5Z.js";
5
5
  import "./chunk-RI6GAMNP.js";
6
- import "./chunk-DFITQ75T.js";
7
- import "./chunk-QN5ST54E.js";
6
+ import "./chunk-C75I2KZM.js";
7
+ import "./chunk-LR5R7EEE.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
@@ -19,14 +19,14 @@ import "./chunk-XAMAYRDA.js";
19
19
  import "./chunk-FBGWG4N6.js";
20
20
  import "./chunk-VUQCQXXJ.js";
21
21
  import "./chunk-BVHFMAVN.js";
22
- import "./chunk-IGSZUXQP.js";
22
+ import "./chunk-DMH6JVPF.js";
23
23
  import {
24
24
  getActiveProvider,
25
25
  getDefaultModel,
26
26
  loadGlobalConfig
27
- } from "./chunk-2ZS2B5HW.js";
28
- import "./chunk-EMJGF3A7.js";
29
- import "./chunk-7FDY3EOH.js";
27
+ } from "./chunk-EZUR7OEP.js";
28
+ import "./chunk-UKTPL5ZG.js";
29
+ import "./chunk-VIIRNJDT.js";
30
30
  import {
31
31
  logger
32
32
  } from "./chunk-K44MW7JJ.js";
@@ -189,4 +189,4 @@ async function runServe(options) {
189
189
  export {
190
190
  runServe
191
191
  };
192
- //# sourceMappingURL=serve-W3ETJJP3.js.map
192
+ //# sourceMappingURL=serve-N3LBZUVN.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-LN22TXNK.js";
4
+ } from "../chunk-J2FFLZ5Z.js";
5
5
  import "../chunk-RI6GAMNP.js";
6
- import "../chunk-DFITQ75T.js";
7
- import "../chunk-QN5ST54E.js";
6
+ import "../chunk-C75I2KZM.js";
7
+ import "../chunk-LR5R7EEE.js";
8
8
  import "../chunk-DL6ZILAF.js";
9
9
  import "../chunk-PBGOZMVY.js";
10
10
  import "../chunk-VRGRAQDG.js";
@@ -17,9 +17,9 @@ import "../chunk-XAMAYRDA.js";
17
17
  import "../chunk-FBGWG4N6.js";
18
18
  import "../chunk-VUQCQXXJ.js";
19
19
  import "../chunk-BVHFMAVN.js";
20
- import "../chunk-IGSZUXQP.js";
21
- import "../chunk-EMJGF3A7.js";
22
- import "../chunk-7FDY3EOH.js";
20
+ import "../chunk-DMH6JVPF.js";
21
+ import "../chunk-UKTPL5ZG.js";
22
+ import "../chunk-VIIRNJDT.js";
23
23
  import "../chunk-K44MW7JJ.js";
24
24
  import "../chunk-CQGTEGKL.js";
25
25
  export {
@@ -11,7 +11,7 @@ import {
11
11
  requestPathAccess,
12
12
  stepDoneTool,
13
13
  validateToolAction
14
- } from "./chunk-QN5ST54E.js";
14
+ } from "./chunk-LR5R7EEE.js";
15
15
  import "./chunk-DL6ZILAF.js";
16
16
  import "./chunk-PBGOZMVY.js";
17
17
  import "./chunk-VRGRAQDG.js";
@@ -27,7 +27,7 @@ import "./chunk-RFNEDBVO.js";
27
27
  import "./chunk-XAMAYRDA.js";
28
28
  import "./chunk-FBGWG4N6.js";
29
29
  import "./chunk-BVHFMAVN.js";
30
- import "./chunk-7FDY3EOH.js";
30
+ import "./chunk-VIIRNJDT.js";
31
31
  import "./chunk-K44MW7JJ.js";
32
32
  import "./chunk-CQGTEGKL.js";
33
33
  export {
@@ -47,4 +47,4 @@ export {
47
47
  stepDoneTool,
48
48
  validateToolAction
49
49
  };
50
- //# sourceMappingURL=tools-SDXWIYSA.js.map
50
+ //# sourceMappingURL=tools-CQGEU3JK.js.map