openfox 1.6.75 → 1.6.76

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.
Files changed (65) hide show
  1. package/dist/{ask-3RK5YJZE.js → ask-5SSOA6SZ.js} +2 -2
  2. package/dist/{auth-LZZX63KI.js → auth-56SIRACI.js} +3 -6
  3. package/dist/auto-compaction-V3PA77WG.js +27 -0
  4. package/dist/{branch.api-XADFZZAA.js → branch.api-PWFW26KC.js} +2 -2
  5. package/dist/{chat-handler-KYMMXPP6.js → chat-handler-7DKHGTVO.js} +31 -29
  6. package/dist/{chunk-5UTTLO4D.js → chunk-5ZD3GZTK.js} +89 -49
  7. package/dist/{chunk-AFATQ5LJ.js → chunk-B5AP3RSV.js} +1 -1
  8. package/dist/{chunk-22CTURMH.js → chunk-BJYPTN5S.js} +1 -1
  9. package/dist/{chunk-DLINTLB7.js → chunk-BSTVRSV6.js} +7 -5
  10. package/dist/{chunk-7JPKRM6M.js → chunk-CMQCO27Y.js} +22 -12
  11. package/dist/{chunk-R4HADRYO.js → chunk-CQGTEGKL.js} +1 -1
  12. package/dist/{chunk-J5DV33SS.js → chunk-CUDAT6SS.js} +46 -18
  13. package/dist/{chunk-ETIXH35K.js → chunk-H5EICXF3.js} +499 -277
  14. package/dist/{chunk-XIZ6B6IS.js → chunk-K2V7EW5F.js} +541 -299
  15. package/dist/{chunk-PNBH3RAX.js → chunk-K44MW7JJ.js} +1 -1
  16. package/dist/{chunk-BLNFJ22S.js → chunk-KIOUKC3Z.js} +6 -4
  17. package/dist/{chunk-4CQ7CUQ6.js → chunk-LCQ3MPXD.js} +5 -5
  18. package/dist/{chunk-CTAIXOZJ.js → chunk-NDJ6FKSP.js} +1 -1
  19. package/dist/{chunk-IA4O65CR.js → chunk-NHJ2GVCF.js} +100 -68
  20. package/dist/{chunk-GQZGIMJO.js → chunk-OXI26S7U.js} +12 -7
  21. package/dist/{chunk-NBU6KIOD.js → chunk-PBGOZMVY.js} +4 -4
  22. package/dist/{chunk-B7E3BICY.js → chunk-RGRBWDZP.js} +2 -4
  23. package/dist/{chunk-VIGOXEZG.js → chunk-RQ4XSKUR.js} +15 -16
  24. package/dist/{chunk-KFBIHS3S.js → chunk-STYHKCG7.js} +20 -14
  25. package/dist/{chunk-55Z3DJ7G.js → chunk-TGWEH2BC.js} +10 -11
  26. package/dist/{chunk-TYUNDOX2.js → chunk-UKMRZDWM.js} +90 -41
  27. package/dist/{chunk-PFRQO5Z3.js → chunk-VAMTEAYI.js} +49 -27
  28. package/dist/{chunk-574HZVLE.js → chunk-VRGRAQDG.js} +2 -2
  29. package/dist/{chunk-JQBTYHUR.js → chunk-WR6QCJJO.js} +53 -15
  30. package/dist/{chunk-RBPOAAIZ.js → chunk-XKIEDGQF.js} +22 -18
  31. package/dist/cli/dev.js +2 -2
  32. package/dist/cli/index.js +2 -2
  33. package/dist/{config-6T4EHAP2.js → config-5CONAOL7.js} +7 -7
  34. package/dist/{events-LKEZ3YCW.js → events-BDXQOC7F.js} +6 -6
  35. package/dist/{folding-JN2WT44N.js → folding-2HW7FIKL.js} +2 -2
  36. package/dist/{inspect-proxy-Y4MRAVB7.js → inspect-proxy-Y75AXMRX.js} +3 -3
  37. package/dist/{manager-HM2J5VMW.js → manager-W7N3XQ4Q.js} +3 -3
  38. package/dist/orchestrator-KCHEENHK.js +43 -0
  39. package/dist/package.json +19 -3
  40. package/dist/{paths-ZRI56O63.js → paths-X46PPOI2.js} +2 -2
  41. package/dist/{processor-23O4HPSS.js → processor-6TS37IYH.js} +15 -11
  42. package/dist/{project-creator-LASKNQPA.js → project-creator-VD7MLOWE.js} +8 -5
  43. package/dist/{projects-HEUOWNSR.js → projects-XLMSDFTQ.js} +4 -4
  44. package/dist/{protocol-5AWNGFLH.js → protocol-4CTV7OZC.js} +3 -3
  45. package/dist/{protocol-DRBnujwe.d.ts → protocol-4xbfAlGO.d.ts} +3 -0
  46. package/dist/{provider-AKN355YH.js → provider-ESEBV3LL.js} +15 -11
  47. package/dist/{pwa-GHQCMCIU.js → pwa-76XP2DY2.js} +2 -2
  48. package/dist/{runtime-config-ZCK74XKM.js → runtime-config-CBJJJGBD.js} +2 -2
  49. package/dist/{serve-TW63YCNQ.js → serve-OLDABBV3.js} +29 -27
  50. package/dist/server/index.d.ts +6 -1
  51. package/dist/server/index.js +22 -22
  52. package/dist/server/public/__inspect__.js +2 -1
  53. package/dist/{service-74Z7JK2J.js → service-D6LC3CAM.js} +3 -2
  54. package/dist/{settings-NI4ITGV6.js → settings-TQNQB56H.js} +4 -4
  55. package/dist/shared/index.d.ts +2 -2
  56. package/dist/shared/index.js +2 -2
  57. package/dist/{store-2IF3ZSLD.js → store-OQ45KONN.js} +2 -2
  58. package/dist/{tools-RUAY6EVI.js → tools-BHYHS3RY.js} +18 -18
  59. package/dist/{vision-fallback-AXH3BGJC.js → vision-fallback-ED27LH6C.js} +3 -3
  60. package/dist/web/assets/{index-CWdKiSP8.js → index-DAuZ02-Q.js} +57 -57
  61. package/dist/web/index.html +1 -1
  62. package/dist/web/sw.js +1 -1
  63. package/package.json +19 -3
  64. package/dist/auto-compaction-OW4P2QWQ.js +0 -27
  65. package/dist/orchestrator-QP4O7MUM.js +0 -43
@@ -36,8 +36,8 @@ import {
36
36
  isFileInCache,
37
37
  isStoredEvent,
38
38
  isTurnEvent
39
- } from "./chunk-5UTTLO4D.js";
40
- import "./chunk-BLNFJ22S.js";
39
+ } from "./chunk-5ZD3GZTK.js";
40
+ import "./chunk-KIOUKC3Z.js";
41
41
  import {
42
42
  buildContextMessagesFromEventHistory,
43
43
  buildContextMessagesFromMessages,
@@ -54,9 +54,9 @@ import {
54
54
  foldTodos,
55
55
  foldTurnEventsToSnapshotMessages,
56
56
  getMessagesForWindow
57
- } from "./chunk-PFRQO5Z3.js";
58
- import "./chunk-AFATQ5LJ.js";
59
- import "./chunk-PNBH3RAX.js";
57
+ } from "./chunk-VAMTEAYI.js";
58
+ import "./chunk-B5AP3RSV.js";
59
+ import "./chunk-K44MW7JJ.js";
60
60
  export {
61
61
  EventStore,
62
62
  buildContextMessagesFromEventHistory,
@@ -111,4 +111,4 @@ export {
111
111
  isStoredEvent,
112
112
  isTurnEvent
113
113
  };
114
- //# sourceMappingURL=events-LKEZ3YCW.js.map
114
+ //# sourceMappingURL=events-BDXQOC7F.js.map
@@ -17,7 +17,7 @@ import {
17
17
  foldTurnEventsToSnapshotMessagesFromInitial,
18
18
  getMessagesForWindow,
19
19
  spreadOptionalMessageFields
20
- } from "./chunk-PFRQO5Z3.js";
20
+ } from "./chunk-VAMTEAYI.js";
21
21
  export {
22
22
  buildContextMessagesFromEventHistory,
23
23
  buildContextMessagesFromMessages,
@@ -38,4 +38,4 @@ export {
38
38
  getMessagesForWindow,
39
39
  spreadOptionalMessageFields
40
40
  };
41
- //# sourceMappingURL=folding-JN2WT44N.js.map
41
+ //# sourceMappingURL=folding-2HW7FIKL.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  startInspectProxy,
3
3
  stopAllInspectProxies
4
- } from "./chunk-RBPOAAIZ.js";
5
- import "./chunk-PNBH3RAX.js";
4
+ } from "./chunk-XKIEDGQF.js";
5
+ import "./chunk-K44MW7JJ.js";
6
6
  export {
7
7
  startInspectProxy,
8
8
  stopAllInspectProxies
9
9
  };
10
- //# sourceMappingURL=inspect-proxy-Y4MRAVB7.js.map
10
+ //# sourceMappingURL=inspect-proxy-Y75AXMRX.js.map
@@ -6,8 +6,8 @@ import {
6
6
  onProcessEvent,
7
7
  startProcessCommand,
8
8
  stopProcess
9
- } from "./chunk-NBU6KIOD.js";
10
- import "./chunk-574HZVLE.js";
9
+ } from "./chunk-PBGOZMVY.js";
10
+ import "./chunk-VRGRAQDG.js";
11
11
  export {
12
12
  createProcess,
13
13
  getProcessLogs,
@@ -17,4 +17,4 @@ export {
17
17
  startProcessCommand,
18
18
  stopProcess
19
19
  };
20
- //# sourceMappingURL=manager-HM2J5VMW.js.map
20
+ //# sourceMappingURL=manager-W7N3XQ4Q.js.map
@@ -0,0 +1,43 @@
1
+ import {
2
+ filterToolRegistryForStepDone,
3
+ runBuilderTurn,
4
+ runChatTurn,
5
+ runVerifierTurn
6
+ } from "./chunk-NHJ2GVCF.js";
7
+ import {
8
+ TurnMetrics,
9
+ createChatDoneEvent,
10
+ createMessageDoneEvent,
11
+ createMessageStartEvent,
12
+ createToolCallEvent,
13
+ createToolResultEvent
14
+ } from "./chunk-H5EICXF3.js";
15
+ import "./chunk-OXI26S7U.js";
16
+ import "./chunk-CMQCO27Y.js";
17
+ import "./chunk-XKIEDGQF.js";
18
+ import "./chunk-PBGOZMVY.js";
19
+ import "./chunk-VRGRAQDG.js";
20
+ import "./chunk-CUDAT6SS.js";
21
+ import "./chunk-5ZD3GZTK.js";
22
+ import "./chunk-KIOUKC3Z.js";
23
+ import "./chunk-VAMTEAYI.js";
24
+ import "./chunk-STYHKCG7.js";
25
+ import "./chunk-BJYPTN5S.js";
26
+ import "./chunk-NDJ6FKSP.js";
27
+ import "./chunk-CQGTEGKL.js";
28
+ import "./chunk-B5AP3RSV.js";
29
+ import "./chunk-BSTVRSV6.js";
30
+ import "./chunk-K44MW7JJ.js";
31
+ export {
32
+ TurnMetrics,
33
+ createChatDoneEvent,
34
+ createMessageDoneEvent,
35
+ createMessageStartEvent,
36
+ createToolCallEvent,
37
+ createToolResultEvent,
38
+ filterToolRegistryForStepDone,
39
+ runBuilderTurn,
40
+ runChatTurn,
41
+ runVerifierTurn
42
+ };
43
+ //# sourceMappingURL=orchestrator-KCHEENHK.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.75",
3
+ "version": "1.6.76",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -50,7 +50,7 @@
50
50
  "duplicate:server": "jscpd src/server/ --ignore '**/*.test.ts' --threshold 0",
51
51
  "duplicate:web": "jscpd web/src/ --config .jscpd-web.json --threshold 0",
52
52
  "duplicate": "npm run duplicate:server && npm run duplicate:web",
53
- "check": "npm run typecheck && npm run duplicate",
53
+ "check": "npm run typecheck && npm run lint && npm run format && npm run duplicate",
54
54
  "patch": "HUSKY=0 npm version patch",
55
55
  "clean": "rm -rf dist",
56
56
  "prepublishOnly": "npm run build && npm run test:publish:e2e",
@@ -62,7 +62,7 @@
62
62
  "@fontsource/jetbrains-mono": "^5.2.8",
63
63
  "@xterm/addon-fit": "^0.11.0",
64
64
  "@xterm/xterm": "^6.0.0",
65
- "bash-language-server": "^5.4.2",
65
+ "bash-language-server": "^5.6.0",
66
66
  "better-sqlite3": "^12.8.0",
67
67
  "cors": "^2.8.5",
68
68
  "express": "^5.2.1",
@@ -100,6 +100,8 @@
100
100
  "@testing-library/react": "^16.3.2",
101
101
  "@testing-library/user-event": "^14.6.1",
102
102
  "@types/better-sqlite3": "^7.6.13",
103
+ "@types/cors": "^2.8.19",
104
+ "@types/express": "^5.0.6",
103
105
  "@types/http-proxy": "^1.17.17",
104
106
  "@types/node": "^22.19.15",
105
107
  "@types/react": "^19.0.8",
@@ -120,11 +122,13 @@
120
122
  "prettier": "^3.8.1",
121
123
  "react": "^19.0.0",
122
124
  "react-dom": "^19.0.0",
125
+ "serialize-javascript": "^7.0.5",
123
126
  "tailwindcss": "^3.4.17",
124
127
  "tsup": "^8.4.0",
125
128
  "tsx": "^4.19.2",
126
129
  "typescript": "^5.7.3",
127
130
  "typescript-eslint": "^8.57.2",
131
+ "vite-plugin-pwa": "^1.2.0",
128
132
  "vitest": "^4.1.2"
129
133
  },
130
134
  "lint-staged": {
@@ -145,5 +149,17 @@
145
149
  "repository": {
146
150
  "type": "git",
147
151
  "url": "git@github.com:co-l/openfox.git"
152
+ },
153
+ "overrides": {
154
+ "mysql2": "3.22.3",
155
+ "ssh2": "1.17.0",
156
+ "tar": "7.5.13",
157
+ "uuid": "14.0.0",
158
+ "@tootallnate/once": "3.0.1",
159
+ "braces": "3.0.3",
160
+ "semver": "7.7.4",
161
+ "minimatch": "10.2.5",
162
+ "micromatch": "4.0.8",
163
+ "@rollup/plugin-terser": "1.0.0"
148
164
  }
149
165
  }
@@ -7,7 +7,7 @@ import {
7
7
  getGlobalConfigPath,
8
8
  getGlobalDataDir,
9
9
  getSkillsDir
10
- } from "./chunk-R4HADRYO.js";
10
+ } from "./chunk-CQGTEGKL.js";
11
11
  export {
12
12
  ensureDataDirExists,
13
13
  getAuthConfigPath,
@@ -18,4 +18,4 @@ export {
18
18
  getGlobalDataDir,
19
19
  getSkillsDir
20
20
  };
21
- //# sourceMappingURL=paths-ZRI56O63.js.map
21
+ //# sourceMappingURL=paths-X46PPOI2.js.map
@@ -5,21 +5,21 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-4CQ7CUQ6.js";
8
+ } from "./chunk-LCQ3MPXD.js";
9
9
  import {
10
10
  getEventStore
11
- } from "./chunk-5UTTLO4D.js";
12
- import "./chunk-BLNFJ22S.js";
13
- import "./chunk-PFRQO5Z3.js";
11
+ } from "./chunk-5ZD3GZTK.js";
12
+ import "./chunk-KIOUKC3Z.js";
13
+ import "./chunk-VAMTEAYI.js";
14
14
  import {
15
15
  createChatMessageMessage,
16
16
  createSessionRunningMessage
17
- } from "./chunk-KFBIHS3S.js";
18
- import "./chunk-CTAIXOZJ.js";
19
- import "./chunk-AFATQ5LJ.js";
17
+ } from "./chunk-STYHKCG7.js";
18
+ import "./chunk-NDJ6FKSP.js";
19
+ import "./chunk-B5AP3RSV.js";
20
20
  import {
21
21
  logger
22
- } from "./chunk-PNBH3RAX.js";
22
+ } from "./chunk-K44MW7JJ.js";
23
23
 
24
24
  // src/server/queue/processor.ts
25
25
  var QueueProcessor = class {
@@ -112,7 +112,11 @@ var QueueProcessor = class {
112
112
  ...nextAsap.attachments ? { attachments: nextAsap.attachments } : {}
113
113
  });
114
114
  broadcastForSession(sessionId, createChatMessageMessage(userMessage));
115
- logger.debug("Added queued message to session", { sessionId, queueId: nextAsap.queueId, messageId: userMessage.id });
115
+ logger.debug("Added queued message to session", {
116
+ sessionId,
117
+ queueId: nextAsap.queueId,
118
+ messageId: userMessage.id
119
+ });
116
120
  const messageCount = this.getSessionMessageCount(sessionId);
117
121
  const currentSession = sessionManager.getSession(sessionId);
118
122
  if (currentSession && needsNameGenerationCheck(sessionId, currentSession.metadata.title, messageCount)) {
@@ -173,7 +177,7 @@ var QueueProcessor = class {
173
177
  backend: provider?.backend ?? llmClient.getBackend(),
174
178
  model: llmClient.getModel()
175
179
  };
176
- const { runChatTurn } = await import("./orchestrator-QP4O7MUM.js");
180
+ const { runChatTurn } = await import("./orchestrator-KCHEENHK.js");
177
181
  const runChatTurnParams = buildRunChatTurnParams({
178
182
  sessionManager,
179
183
  sessionId,
@@ -210,4 +214,4 @@ var QueueProcessor = class {
210
214
  export {
211
215
  QueueProcessor
212
216
  };
213
- //# sourceMappingURL=processor-23O4HPSS.js.map
217
+ //# sourceMappingURL=processor-6TS37IYH.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createProject
3
- } from "./chunk-7JPKRM6M.js";
4
- import "./chunk-BLNFJ22S.js";
5
- import "./chunk-PNBH3RAX.js";
3
+ } from "./chunk-CMQCO27Y.js";
4
+ import "./chunk-KIOUKC3Z.js";
5
+ import "./chunk-K44MW7JJ.js";
6
6
 
7
7
  // src/server/utils/project-creator.ts
8
8
  import { execSync } from "child_process";
@@ -12,7 +12,10 @@ function validateProjectName(name) {
12
12
  return { valid: false, error: "Project name cannot be empty" };
13
13
  }
14
14
  if (!/^[a-zA-Z0-9._ -]+$/.test(name)) {
15
- return { valid: false, error: "Project name can only contain letters, numbers, hyphens, underscores, dots, and spaces" };
15
+ return {
16
+ valid: false,
17
+ error: "Project name can only contain letters, numbers, hyphens, underscores, dots, and spaces"
18
+ };
16
19
  }
17
20
  if (name.includes("/") || name.includes("\\") || name.includes("..")) {
18
21
  return { valid: false, error: "Project name cannot contain path separators" };
@@ -59,4 +62,4 @@ export {
59
62
  createDirectoryWithGit,
60
63
  validateProjectName
61
64
  };
62
- //# sourceMappingURL=project-creator-LASKNQPA.js.map
65
+ //# sourceMappingURL=project-creator-VD7MLOWE.js.map
@@ -5,9 +5,9 @@ import {
5
5
  getProjectByWorkdir,
6
6
  listProjects,
7
7
  updateProject
8
- } from "./chunk-7JPKRM6M.js";
9
- import "./chunk-BLNFJ22S.js";
10
- import "./chunk-PNBH3RAX.js";
8
+ } from "./chunk-CMQCO27Y.js";
9
+ import "./chunk-KIOUKC3Z.js";
10
+ import "./chunk-K44MW7JJ.js";
11
11
  export {
12
12
  createProject,
13
13
  deleteProject,
@@ -16,4 +16,4 @@ export {
16
16
  listProjects,
17
17
  updateProject
18
18
  };
19
- //# sourceMappingURL=projects-HEUOWNSR.js.map
19
+ //# sourceMappingURL=projects-XLMSDFTQ.js.map
@@ -35,8 +35,8 @@ import {
35
35
  parseClientMessage,
36
36
  serializeServerMessage,
37
37
  storedEventToServerMessage
38
- } from "./chunk-KFBIHS3S.js";
39
- import "./chunk-CTAIXOZJ.js";
38
+ } from "./chunk-STYHKCG7.js";
39
+ import "./chunk-NDJ6FKSP.js";
40
40
  export {
41
41
  createChatAskUserMessage,
42
42
  createChatDeltaMessage,
@@ -75,4 +75,4 @@ export {
75
75
  serializeServerMessage,
76
76
  storedEventToServerMessage
77
77
  };
78
- //# sourceMappingURL=protocol-5AWNGFLH.js.map
78
+ //# sourceMappingURL=protocol-4CTV7OZC.js.map
@@ -197,6 +197,7 @@ interface PromptContext {
197
197
  interface PromptContextMessage {
198
198
  role: 'user' | 'assistant' | 'tool';
199
199
  content: string;
200
+ thinkingContent?: string;
200
201
  source: 'history' | 'runtime';
201
202
  toolCalls?: Array<{
202
203
  id: string;
@@ -228,6 +229,7 @@ interface InjectedFile {
228
229
  interface PreparingToolCall {
229
230
  index: number;
230
231
  name: string;
232
+ arguments?: string;
231
233
  }
232
234
  interface Attachment {
233
235
  id: string;
@@ -570,6 +572,7 @@ interface ChatToolPreparingPayload {
570
572
  messageId: string;
571
573
  index: number;
572
574
  name: string;
575
+ arguments?: string;
573
576
  }
574
577
  interface ChatToolCallPayload {
575
578
  messageId: string;
@@ -5,19 +5,19 @@ import {
5
5
  loadGlobalConfig,
6
6
  removeProvider,
7
7
  saveGlobalConfig
8
- } from "./chunk-TYUNDOX2.js";
8
+ } from "./chunk-UKMRZDWM.js";
9
9
  import {
10
10
  fetchAvailableModelsFromBackend
11
- } from "./chunk-JQBTYHUR.js";
11
+ } from "./chunk-WR6QCJJO.js";
12
12
  import {
13
13
  detectModel
14
- } from "./chunk-55Z3DJ7G.js";
14
+ } from "./chunk-TGWEH2BC.js";
15
15
  import {
16
16
  detectBackend
17
- } from "./chunk-J5DV33SS.js";
18
- import "./chunk-R4HADRYO.js";
19
- import "./chunk-DLINTLB7.js";
20
- import "./chunk-PNBH3RAX.js";
17
+ } from "./chunk-CUDAT6SS.js";
18
+ import "./chunk-CQGTEGKL.js";
19
+ import "./chunk-BSTVRSV6.js";
20
+ import "./chunk-K44MW7JJ.js";
21
21
 
22
22
  // src/cli/provider.ts
23
23
  import { select, text, password, spinner, log, outro, isCancel, cancel } from "@clack/prompts";
@@ -87,7 +87,6 @@ async function runProviderAdd(mode) {
87
87
  const s = spinner();
88
88
  s.start(`Fetching available models from ${url}...`);
89
89
  let availableModels = [];
90
- let detectedModel = null;
91
90
  try {
92
91
  if (backend === "auto") {
93
92
  await detectBackend(url);
@@ -125,6 +124,7 @@ async function runProviderAdd(mode) {
125
124
  if (selectedModel === "auto") {
126
125
  const detectSpinner = spinner();
127
126
  detectSpinner.start("Detecting model...");
127
+ let detectedModel;
128
128
  try {
129
129
  detectedModel = await detectModel(url);
130
130
  if (detectedModel) {
@@ -248,8 +248,12 @@ async function runProviderAdd(mode) {
248
248
  isActive: makeActive
249
249
  });
250
250
  if (makeActive) {
251
- const { setDefaultModelSelection } = await import("./config-6T4EHAP2.js");
252
- newConfig = setDefaultModelSelection(newConfig, newConfig.providers[newConfig.providers.length - 1].id, selectedModel);
251
+ const { setDefaultModelSelection } = await import("./config-5CONAOL7.js");
252
+ newConfig = setDefaultModelSelection(
253
+ newConfig,
254
+ newConfig.providers[newConfig.providers.length - 1].id,
255
+ selectedModel
256
+ );
253
257
  }
254
258
  await saveGlobalConfig(mode, newConfig);
255
259
  outro(`\u2713 Provider "${name}" added${makeActive ? " and activated" : ""}`);
@@ -372,4 +376,4 @@ export {
372
376
  runProviderRemove,
373
377
  runProviderUse
374
378
  };
375
- //# sourceMappingURL=provider-AKN355YH.js.map
379
+ //# sourceMappingURL=provider-ESEBV3LL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getGlobalConfigDir
3
- } from "./chunk-R4HADRYO.js";
3
+ } from "./chunk-CQGTEGKL.js";
4
4
 
5
5
  // src/cli/pwa.ts
6
6
  import { execSync, spawn } from "child_process";
@@ -354,4 +354,4 @@ export {
354
354
  runPwaCommand,
355
355
  savePwaConfig
356
356
  };
357
- //# sourceMappingURL=pwa-GHQCMCIU.js.map
357
+ //# sourceMappingURL=pwa-76XP2DY2.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getRuntimeConfig,
3
3
  setRuntimeConfig
4
- } from "./chunk-AFATQ5LJ.js";
4
+ } from "./chunk-B5AP3RSV.js";
5
5
  export {
6
6
  getRuntimeConfig,
7
7
  setRuntimeConfig
8
8
  };
9
- //# sourceMappingURL=runtime-config-ZCK74XKM.js.map
9
+ //# sourceMappingURL=runtime-config-CBJJJGBD.js.map
@@ -2,40 +2,40 @@ import {
2
2
  getActiveProvider,
3
3
  getDefaultModel,
4
4
  loadGlobalConfig
5
- } from "./chunk-TYUNDOX2.js";
5
+ } from "./chunk-UKMRZDWM.js";
6
6
  import {
7
7
  VERSION,
8
8
  createServer
9
- } from "./chunk-XIZ6B6IS.js";
10
- import "./chunk-IA4O65CR.js";
11
- import "./chunk-ETIXH35K.js";
12
- import "./chunk-GQZGIMJO.js";
13
- import "./chunk-7JPKRM6M.js";
14
- import "./chunk-RBPOAAIZ.js";
15
- import "./chunk-NBU6KIOD.js";
16
- import "./chunk-574HZVLE.js";
17
- import "./chunk-JQBTYHUR.js";
18
- import "./chunk-55Z3DJ7G.js";
19
- import "./chunk-J5DV33SS.js";
20
- import "./chunk-5UTTLO4D.js";
21
- import "./chunk-BLNFJ22S.js";
22
- import "./chunk-PFRQO5Z3.js";
23
- import "./chunk-KFBIHS3S.js";
24
- import "./chunk-22CTURMH.js";
25
- import "./chunk-B7E3BICY.js";
26
- import "./chunk-CTAIXOZJ.js";
9
+ } from "./chunk-K2V7EW5F.js";
10
+ import "./chunk-NHJ2GVCF.js";
11
+ import "./chunk-H5EICXF3.js";
12
+ import "./chunk-OXI26S7U.js";
13
+ import "./chunk-CMQCO27Y.js";
14
+ import "./chunk-XKIEDGQF.js";
15
+ import "./chunk-PBGOZMVY.js";
16
+ import "./chunk-VRGRAQDG.js";
17
+ import "./chunk-WR6QCJJO.js";
18
+ import "./chunk-TGWEH2BC.js";
19
+ import "./chunk-CUDAT6SS.js";
20
+ import "./chunk-5ZD3GZTK.js";
21
+ import "./chunk-KIOUKC3Z.js";
22
+ import "./chunk-VAMTEAYI.js";
23
+ import "./chunk-STYHKCG7.js";
24
+ import "./chunk-BJYPTN5S.js";
25
+ import "./chunk-RGRBWDZP.js";
26
+ import "./chunk-NDJ6FKSP.js";
27
27
  import {
28
28
  ensureDataDirExists,
29
29
  getDatabasePath,
30
30
  getGlobalConfigPath
31
- } from "./chunk-R4HADRYO.js";
31
+ } from "./chunk-CQGTEGKL.js";
32
32
  import {
33
33
  loadConfig
34
- } from "./chunk-AFATQ5LJ.js";
35
- import "./chunk-DLINTLB7.js";
34
+ } from "./chunk-B5AP3RSV.js";
35
+ import "./chunk-BSTVRSV6.js";
36
36
  import {
37
37
  logger
38
- } from "./chunk-PNBH3RAX.js";
38
+ } from "./chunk-K44MW7JJ.js";
39
39
 
40
40
  // src/server/utils/network.ts
41
41
  import os from "os";
@@ -180,12 +180,14 @@ async function runServe(options) {
180
180
  configPath: getGlobalConfigPath(mode)
181
181
  });
182
182
  if (merged.server.openBrowser) {
183
- open(`http://${merged.server.host === "127.0.0.1" ? "localhost" : merged.server.host}:${merged.server.port}`).catch(() => {
184
- logger.warn("Could not open browser automatically");
185
- });
183
+ open(`http://${merged.server.host === "127.0.0.1" ? "localhost" : merged.server.host}:${merged.server.port}`).catch(
184
+ () => {
185
+ logger.warn("Could not open browser automatically");
186
+ }
187
+ );
186
188
  }
187
189
  }
188
190
  export {
189
191
  runServe
190
192
  };
191
- //# sourceMappingURL=serve-TW63YCNQ.js.map
193
+ //# sourceMappingURL=serve-OLDABBV3.js.map
@@ -1,9 +1,10 @@
1
- import { aO as ToolCall, c as Attachment, T as Diagnostic, an as Provider, a8 as ModelConfig, aA as Session, aJ as SessionSummary, af as Project, aE as SessionMode, aG as SessionPhase, M as Message, K as Criterion, N as CriterionStatus, aw as QueuedMessage, G as ContextState, P as DangerLevel$1, ay as ServerMessage, aL as StatsIdentity, aR as ToolResult, E as Config } from '../protocol-DRBnujwe.js';
1
+ import { aO as ToolCall, c as Attachment, T as Diagnostic, an as Provider, a8 as ModelConfig, aA as Session, aJ as SessionSummary, af as Project, aE as SessionMode, aG as SessionPhase, M as Message, K as Criterion, N as CriterionStatus, aw as QueuedMessage, G as ContextState, P as DangerLevel$1, ay as ServerMessage, aL as StatsIdentity, aR as ToolResult, E as Config } from '../protocol-4xbfAlGO.js';
2
2
  import { Server } from 'node:http';
3
3
 
4
4
  interface LLMMessage {
5
5
  role: 'system' | 'user' | 'assistant' | 'tool';
6
6
  content: string;
7
+ thinkingContent?: string;
7
8
  toolCalls?: ToolCall[];
8
9
  toolCallId?: string;
9
10
  name?: string;
@@ -344,6 +345,10 @@ declare class SessionManager {
344
345
  * Just updates DB and returns updated session.
345
346
  */
346
347
  setDangerLevel(sessionId: string, dangerLevel: DangerLevel): Session;
348
+ /**
349
+ * Rename session. Updates title in DB and emits session_updated.
350
+ */
351
+ renameSession(sessionId: string, title: string): Session;
347
352
  /**
348
353
  * Set session running state. Emits running.changed event.
349
354
  */
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-XIZ6B6IS.js";
5
- import "../chunk-IA4O65CR.js";
6
- import "../chunk-ETIXH35K.js";
7
- import "../chunk-GQZGIMJO.js";
8
- import "../chunk-7JPKRM6M.js";
9
- import "../chunk-RBPOAAIZ.js";
10
- import "../chunk-NBU6KIOD.js";
11
- import "../chunk-574HZVLE.js";
12
- import "../chunk-JQBTYHUR.js";
13
- import "../chunk-55Z3DJ7G.js";
14
- import "../chunk-J5DV33SS.js";
15
- import "../chunk-5UTTLO4D.js";
16
- import "../chunk-BLNFJ22S.js";
17
- import "../chunk-PFRQO5Z3.js";
18
- import "../chunk-KFBIHS3S.js";
19
- import "../chunk-22CTURMH.js";
20
- import "../chunk-B7E3BICY.js";
21
- import "../chunk-CTAIXOZJ.js";
22
- import "../chunk-R4HADRYO.js";
23
- import "../chunk-AFATQ5LJ.js";
24
- import "../chunk-DLINTLB7.js";
25
- import "../chunk-PNBH3RAX.js";
4
+ } from "../chunk-K2V7EW5F.js";
5
+ import "../chunk-NHJ2GVCF.js";
6
+ import "../chunk-H5EICXF3.js";
7
+ import "../chunk-OXI26S7U.js";
8
+ import "../chunk-CMQCO27Y.js";
9
+ import "../chunk-XKIEDGQF.js";
10
+ import "../chunk-PBGOZMVY.js";
11
+ import "../chunk-VRGRAQDG.js";
12
+ import "../chunk-WR6QCJJO.js";
13
+ import "../chunk-TGWEH2BC.js";
14
+ import "../chunk-CUDAT6SS.js";
15
+ import "../chunk-5ZD3GZTK.js";
16
+ import "../chunk-KIOUKC3Z.js";
17
+ import "../chunk-VAMTEAYI.js";
18
+ import "../chunk-STYHKCG7.js";
19
+ import "../chunk-BJYPTN5S.js";
20
+ import "../chunk-RGRBWDZP.js";
21
+ import "../chunk-NDJ6FKSP.js";
22
+ import "../chunk-CQGTEGKL.js";
23
+ import "../chunk-B5AP3RSV.js";
24
+ import "../chunk-BSTVRSV6.js";
25
+ import "../chunk-K44MW7JJ.js";
26
26
  export {
27
27
  createServer,
28
28
  createServerHandle
@@ -1,3 +1,4 @@
1
+ /* global window, document, Node, setTimeout, fetch, console */
1
2
  (function() {
2
3
  'use strict';
3
4
 
@@ -82,7 +83,7 @@
82
83
  }
83
84
  var text = (clone.textContent || '').replace(/\s+/g, ' ').trim();
84
85
  return text.slice(0, 500) || null;
85
- } catch (e) {
86
+ } catch {
86
87
  return null;
87
88
  }
88
89
  }
@@ -44,7 +44,8 @@ async function createWrapperScript() {
44
44
  await mkdir(binDir, { recursive: true });
45
45
  const scriptPath = expandPath(RUN_SCRIPT_PATH);
46
46
  const scriptContent = `#!/bin/bash
47
- source ~/.bashrc
47
+ source ~/.profile 2>/dev/null || true
48
+ source ~/.bashrc 2>/dev/null || true
48
49
  exec openfox
49
50
  `;
50
51
  await writeFile(scriptPath, scriptContent, { encoding: "utf-8" });
@@ -225,4 +226,4 @@ async function serviceUninstall() {
225
226
  export {
226
227
  runServiceCommand
227
228
  };
228
- //# sourceMappingURL=service-74Z7JK2J.js.map
229
+ //# sourceMappingURL=service-D6LC3CAM.js.map
@@ -5,9 +5,9 @@ import {
5
5
  getAllSettings,
6
6
  getSetting,
7
7
  setSetting
8
- } from "./chunk-GQZGIMJO.js";
9
- import "./chunk-BLNFJ22S.js";
10
- import "./chunk-PNBH3RAX.js";
8
+ } from "./chunk-OXI26S7U.js";
9
+ import "./chunk-KIOUKC3Z.js";
10
+ import "./chunk-K44MW7JJ.js";
11
11
  export {
12
12
  SETTINGS_DEFAULTS,
13
13
  SETTINGS_KEYS,
@@ -16,4 +16,4 @@ export {
16
16
  getSetting,
17
17
  setSetting
18
18
  };
19
- //# sourceMappingURL=settings-NI4ITGV6.js.map
19
+ //# sourceMappingURL=settings-TQNQB56H.js.map