openfox 2.0.88 → 2.0.89

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 (66) hide show
  1. package/CHANGELOG.md +28 -14
  2. package/dist/CHANGELOG.md +28 -14
  3. package/dist/{chat-handler-HB3XN6YE.js → chat-handler-NOTXEOLF.js} +17 -17
  4. package/dist/{chunk-GLRBRQGJ.js → chunk-2GQ7X2NP.js} +2 -2
  5. package/dist/{chunk-B53QORTX.js → chunk-3QHXJ3DJ.js} +2 -2
  6. package/dist/{chunk-V4V6UGZZ.js → chunk-4S76VMPH.js} +3 -3
  7. package/dist/{chunk-6YJ5W4KV.js → chunk-5OGOPB3I.js} +219 -97
  8. package/dist/{chunk-7PZBCATU.js → chunk-67AVIA5G.js} +29 -7
  9. package/dist/{chunk-QMSTCWYK.js → chunk-7JC5YWST.js} +15 -15
  10. package/dist/{chunk-BOO6VR2T.js → chunk-7TFKWFY3.js} +2 -2
  11. package/dist/{chunk-TW3PNLMA.js → chunk-AGYP7AUV.js} +2 -2
  12. package/dist/{chunk-XNPVKFOJ.js → chunk-ANYBIATF.js} +2 -2
  13. package/dist/{chunk-76ADL7EV.js → chunk-E5D7V7XC.js} +7 -7
  14. package/dist/{chunk-RGUUZD5B.js → chunk-EZWSS7LG.js} +5 -1
  15. package/dist/{chunk-EYIWUONA.js → chunk-J2IVK667.js} +2 -2
  16. package/dist/{chunk-5UHHGQ7Q.js → chunk-J7R25K6N.js} +4 -4
  17. package/dist/{chunk-TXGW36XL.js → chunk-NGIOAASU.js} +2 -2
  18. package/dist/{chunk-SUT4OSXR.js → chunk-NTYWC6PD.js} +3 -3
  19. package/dist/{chunk-GO54OTGE.js → chunk-OVSB5SFF.js} +11 -11
  20. package/dist/{chunk-WWOZHM6D.js → chunk-Q4OPCXV4.js} +2 -2
  21. package/dist/{chunk-6AE3JPDJ.js → chunk-Q6AKRIM2.js} +7 -2
  22. package/dist/{chunk-DZGVDT2F.js → chunk-RNXMN5QY.js} +4 -4
  23. package/dist/{chunk-LD46ASP5.js → chunk-SYU5GNPN.js} +2 -2
  24. package/dist/{chunk-2DWWLQVQ.js → chunk-TAHZHEJ4.js} +3 -3
  25. package/dist/chunk-TH4JF6XP.js +7 -0
  26. package/dist/{chunk-EWUDWUE3.js → chunk-U2ECZUAX.js} +10 -10
  27. package/dist/{chunk-BNQTJFHQ.js → chunk-VFMHWU3E.js} +2 -2
  28. package/dist/cli/dev.js +1 -1
  29. package/dist/cli/index.js +1 -1
  30. package/dist/{client-W3AYWMJM.js → client-2KVPLIV4.js} +5 -5
  31. package/dist/{compactor-7JU5CXSG.js → compactor-W2CUKE22.js} +10 -10
  32. package/dist/{events-Z3AJVFSP.js → events-OD7MN3FL.js} +7 -7
  33. package/dist/{folding-LWKKC4RQ.js → folding-TDDQ5CXT.js} +5 -5
  34. package/dist/http-client-IPJGJXNJ.js +11 -0
  35. package/dist/{inspect-proxy-DRYIIH4O.js → inspect-proxy-CN2MUFQ5.js} +4 -4
  36. package/dist/{manager-657CWC5Z.js → manager-6UIC3QKJ.js} +5 -5
  37. package/dist/{orchestrator-KTOC65UU.js → orchestrator-NQDWCULY.js} +16 -16
  38. package/dist/package.json +1 -1
  39. package/dist/{path-security-XXWK5ZCL.js → path-security-M2JDUBKK.js} +8 -8
  40. package/dist/{platform-MVVEGKPE.js → platform-55N6FRRU.js} +4 -4
  41. package/dist/{processor-3UTJE7EQ.js → processor-FE4ZJ7GS.js} +17 -17
  42. package/dist/{project-creator-NNUITNUI.js → project-creator-W5VW22DC.js} +3 -3
  43. package/dist/{projects-ZGJGICGT.js → projects-HZ3WVTKG.js} +3 -3
  44. package/dist/{protocol-BzTZcNEh.d.ts → protocol-DKJPL2Ci.d.ts} +1 -1
  45. package/dist/provider/index.d.ts +4 -4
  46. package/dist/{provider-YRNABOCC.js → provider-I2P3NYUI.js} +6 -6
  47. package/dist/{provider-manager-W4MEPXB5.js → provider-manager-OLDOHCR2.js} +6 -6
  48. package/dist/{serve-AZ5QSSHE.js → serve-UMPDBCVG.js} +23 -23
  49. package/dist/server/index.d.ts +16 -3
  50. package/dist/server/index.js +22 -22
  51. package/dist/{server-T4YPLZDF.js → server-4PB7BNE6.js} +18 -18
  52. package/dist/{sessions-KDQ5TMHX.js → sessions-Q6SYLG6U.js} +5 -5
  53. package/dist/{settings-SM3K6S74.js → settings-PFZWX6VY.js} +3 -3
  54. package/dist/shared/index.d.ts +3 -3
  55. package/dist/{tools-A2XBFPRO.js → tools-NLKP65HF.js} +15 -15
  56. package/dist/{types-CrLD4iRS.d.ts → types-B97Fb4vm.d.ts} +1 -1
  57. package/dist/{types-B4wa_vGm.d.ts → types-C4NrLRR1.d.ts} +1 -0
  58. package/dist/{update-4D76LEVO.js → update-BHTE5TMY.js} +2 -2
  59. package/dist/web/assets/{index-D8gCHkwE.css → index-BQfVUhSC.css} +1 -1
  60. package/dist/web/assets/{index-BRy1cx3_.js → index-C5sTYb--.js} +72 -72
  61. package/dist/web/index.html +2 -2
  62. package/dist/web/sw.js +1 -1
  63. package/dist/{workspace-MMV6V5P4.js → workspace-N4QHV6J2.js} +4 -2
  64. package/package.json +1 -1
  65. package/dist/chunk-FGK7QLCZ.js +0 -7
  66. package/dist/http-client-LITXNO6R.js +0 -11
@@ -1,6 +1,10 @@
1
1
  import {
2
2
  gitSpawnEnv
3
3
  } from "./chunk-J7GAZGZT.js";
4
+ import {
5
+ getProjectByWorkdir,
6
+ updateProject
7
+ } from "./chunk-Q6AKRIM2.js";
4
8
  import {
5
9
  logger
6
10
  } from "./chunk-K44MW7JJ.js";
@@ -25,7 +29,15 @@ async function loadWorkspaceConfig(workdir) {
25
29
  const parsed = JSON.parse(raw);
26
30
  const config = {};
27
31
  if (parsed.setup) config.setup = parsed.setup;
28
- if (parsed.rootDir) config.rootDir = parsed.rootDir;
32
+ if (parsed.rootDir) {
33
+ const project = getProjectByWorkdir(workdir);
34
+ if (project && !project.workspaceRootDir) {
35
+ try {
36
+ updateProject(project.id, { workspaceRootDir: parsed.rootDir });
37
+ } catch {
38
+ }
39
+ }
40
+ }
29
41
  return Object.keys(config).length > 0 ? config : null;
30
42
  } catch {
31
43
  return null;
@@ -82,9 +94,9 @@ function getGlobalDataDir() {
82
94
  }
83
95
  }
84
96
  async function getWorkspacesDir(projectName, projectDir) {
85
- const config = await loadWorkspaceConfig(projectDir);
86
- if (config?.rootDir) {
87
- return isAbsolute(config.rootDir) ? config.rootDir : resolve2(projectDir, config.rootDir);
97
+ const project = getProjectByWorkdir(projectDir);
98
+ if (project?.workspaceRootDir) {
99
+ return isAbsolute(project.workspaceRootDir) ? project.workspaceRootDir : resolve2(projectDir, project.workspaceRootDir);
88
100
  }
89
101
  return join2(getGlobalDataDir(), "workspaces", projectName);
90
102
  }
@@ -227,8 +239,18 @@ async function ensureWorkspace(projectDir, name, projectName, branch, sourceBran
227
239
  if (branch) {
228
240
  await validateRef(wsPath, branch);
229
241
  await runGit(wsPath, ["checkout", branch]).catch(async () => {
230
- const sb = sourceBranch ? await resolveAndValidateSourceBranch(wsPath, sourceBranch, projectDir) : await getDefaultBranch(projectDir);
231
- await runGit(wsPath, ["checkout", "-b", branch, sb]);
242
+ try {
243
+ if (sourceBranch) {
244
+ const sb = await resolveAndValidateSourceBranch(wsPath, sourceBranch, projectDir);
245
+ await runGit(wsPath, ["checkout", "-b", branch, sb]);
246
+ } else {
247
+ await runGit(wsPath, ["checkout", "-b", branch]);
248
+ }
249
+ } catch (innerErr) {
250
+ throw new Error(
251
+ `Failed to create branch "${branch}" in workspace: ${innerErr instanceof Error ? innerErr.message : String(innerErr)}`
252
+ );
253
+ }
232
254
  });
233
255
  }
234
256
  const config = await loadWorkspaceConfig(projectDir);
@@ -302,4 +324,4 @@ export {
302
324
  deleteWorkspace,
303
325
  isGitRepository
304
326
  };
305
- //# sourceMappingURL=chunk-7PZBCATU.js.map
327
+ //# sourceMappingURL=chunk-67AVIA5G.js.map
@@ -8,7 +8,7 @@ import {
8
8
  spawnShellProcess,
9
9
  startProcessCommand,
10
10
  stopProcess
11
- } from "./chunk-GLRBRQGJ.js";
11
+ } from "./chunk-2GQ7X2NP.js";
12
12
  import {
13
13
  createMcpTools
14
14
  } from "./chunk-NWO6GRYE.js";
@@ -19,14 +19,14 @@ import {
19
19
  getGitBranch,
20
20
  isGitRepository,
21
21
  listWorkspaces
22
- } from "./chunk-7PZBCATU.js";
22
+ } from "./chunk-67AVIA5G.js";
23
23
  import {
24
24
  PathAccessDeniedError,
25
25
  extractAbsolutePathsFromCommand,
26
26
  extractSensitivePathsFromCommand,
27
27
  registerPathConfirmation,
28
28
  requestPathAccess
29
- } from "./chunk-B53QORTX.js";
29
+ } from "./chunk-3QHXJ3DJ.js";
30
30
  import {
31
31
  createChatDoneMessage,
32
32
  createChatMessageMessage,
@@ -50,13 +50,13 @@ import {
50
50
  createToolCallEvent,
51
51
  createToolResultEvent,
52
52
  streamLLMPure
53
- } from "./chunk-TXGW36XL.js";
53
+ } from "./chunk-NGIOAASU.js";
54
54
  import {
55
55
  startInspectProxy
56
- } from "./chunk-EYIWUONA.js";
56
+ } from "./chunk-J2IVK667.js";
57
57
  import {
58
58
  getProject
59
- } from "./chunk-6AE3JPDJ.js";
59
+ } from "./chunk-Q6AKRIM2.js";
60
60
  import {
61
61
  getMaxPerSession,
62
62
  getSessionProcessCount,
@@ -66,7 +66,7 @@ import {
66
66
  getCurrentContextWindowId,
67
67
  getCurrentWindowMessageOptions,
68
68
  getEventStore
69
- } from "./chunk-DZGVDT2F.js";
69
+ } from "./chunk-RNXMN5QY.js";
70
70
  import {
71
71
  buildContextMessagesFromEventHistory,
72
72
  foldContextState,
@@ -76,7 +76,7 @@ import {
76
76
  handleToolResult,
77
77
  reorderToolMessages,
78
78
  stripOrphanedToolCalls
79
- } from "./chunk-TW3PNLMA.js";
79
+ } from "./chunk-AGYP7AUV.js";
80
80
  import {
81
81
  deleteItemFromDir,
82
82
  findAgentById,
@@ -85,7 +85,7 @@ import {
85
85
  loadAllAgentsDefault,
86
86
  loadItemsFromDir,
87
87
  pathExists
88
- } from "./chunk-BOO6VR2T.js";
88
+ } from "./chunk-7TFKWFY3.js";
89
89
  import {
90
90
  modelSupportsVision
91
91
  } from "./chunk-V4IE7HJY.js";
@@ -105,7 +105,7 @@ import {
105
105
  deleteSetting,
106
106
  getSetting,
107
107
  setSetting
108
- } from "./chunk-BNQTJFHQ.js";
108
+ } from "./chunk-VFMHWU3E.js";
109
109
  import {
110
110
  logger
111
111
  } from "./chunk-K44MW7JJ.js";
@@ -129,7 +129,7 @@ async function requestUserConfirmation(context, toolLabel, desc) {
129
129
  if (context.dangerLevel === "dangerous") return Promise.resolve(true);
130
130
  if (toolLabel === "workspace" || toolLabel === "command") {
131
131
  try {
132
- const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-SM3K6S74.js");
132
+ const { getSetting: getSetting2, SETTINGS_KEYS: SETTINGS_KEYS2 } = await import("./settings-PFZWX6VY.js");
133
133
  if (getSetting2(SETTINGS_KEYS2.CONFIRM_ON_WORKSPACE_ACTIONS) !== "true") {
134
134
  return Promise.resolve(true);
135
135
  }
@@ -2315,7 +2315,7 @@ ${CONTINUE_PROMPT}` : CONTINUE_PROMPT;
2315
2315
  sessionManager.setCurrentContextSize(sessionId, result.usage.promptTokens, config.subAgentMetadata?.subAgentId);
2316
2316
  if (!compacting) {
2317
2317
  const contextState2 = sessionManager.getContextState(sessionId);
2318
- const { shouldCompact, appendCompactionPrompt } = await import("./compactor-7JU5CXSG.js");
2318
+ const { shouldCompact, appendCompactionPrompt } = await import("./compactor-W2CUKE22.js");
2319
2319
  if (shouldCompact(
2320
2320
  contextState2.currentTokens,
2321
2321
  contextState2.maxTokens,
@@ -3254,7 +3254,7 @@ var callSubAgentTool = {
3254
3254
  };
3255
3255
  }
3256
3256
  try {
3257
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-A2XBFPRO.js");
3257
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-NLKP65HF.js");
3258
3258
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3259
3259
  const turnMetrics = new TurnMetrics();
3260
3260
  const result = await executeSubAgent({
@@ -4260,7 +4260,7 @@ var mcpConfigTool = createTool(
4260
4260
  mcpNotifyChanged?.(sessionId);
4261
4261
  }
4262
4262
  async function rebuildTools() {
4263
- const { setMcpTools: setMcpTools2 } = await import("./tools-A2XBFPRO.js");
4263
+ const { setMcpTools: setMcpTools2 } = await import("./tools-NLKP65HF.js");
4264
4264
  const mcpTools = createMcpTools(mcpManagerForTools);
4265
4265
  setMcpTools2(mcpTools);
4266
4266
  }
@@ -4917,4 +4917,4 @@ export {
4917
4917
  getToolRegistryForAgent,
4918
4918
  createToolRegistry
4919
4919
  };
4920
- //# sourceMappingURL=chunk-QMSTCWYK.js.map
4920
+ //# sourceMappingURL=chunk-7JC5YWST.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-BNQTJFHQ.js";
4
+ } from "./chunk-VFMHWU3E.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-K44MW7JJ.js";
@@ -396,4 +396,4 @@ export {
396
396
  deleteAgent,
397
397
  resolveDefaultAgentId
398
398
  };
399
- //# sourceMappingURL=chunk-BOO6VR2T.js.map
399
+ //# sourceMappingURL=chunk-7TFKWFY3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveDefaultAgentId
3
- } from "./chunk-BOO6VR2T.js";
3
+ } from "./chunk-7TFKWFY3.js";
4
4
 
5
5
  // src/server/events/apply-events.ts
6
6
  function markComplete(msg, reason) {
@@ -909,4 +909,4 @@ export {
909
909
  buildSnapshot,
910
910
  buildSnapshotFromSessionState
911
911
  };
912
- //# sourceMappingURL=chunk-TW3PNLMA.js.map
912
+ //# sourceMappingURL=chunk-AGYP7AUV.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-BNQTJFHQ.js";
4
+ } from "./chunk-VFMHWU3E.js";
5
5
 
6
6
  // src/server/utils/platform.ts
7
7
  import os from "os";
@@ -63,4 +63,4 @@ export {
63
63
  isWindowsPath,
64
64
  isAbsolutePath
65
65
  };
66
- //# sourceMappingURL=chunk-XNPVKFOJ.js.map
66
+ //# sourceMappingURL=chunk-ANYBIATF.js.map
@@ -8,20 +8,20 @@ import {
8
8
  import {
9
9
  combineEventsWithSnapshot,
10
10
  getEventStore
11
- } from "./chunk-DZGVDT2F.js";
11
+ } from "./chunk-RNXMN5QY.js";
12
12
  import {
13
13
  buildMessagesFromStoredEvents,
14
14
  foldPendingConfirmations
15
- } from "./chunk-TW3PNLMA.js";
15
+ } from "./chunk-AGYP7AUV.js";
16
16
  import {
17
17
  updateSessionMetadata
18
- } from "./chunk-2DWWLQVQ.js";
18
+ } from "./chunk-TAHZHEJ4.js";
19
19
  import {
20
20
  getRuntimeConfig
21
- } from "./chunk-BOO6VR2T.js";
21
+ } from "./chunk-7TFKWFY3.js";
22
22
  import {
23
23
  getMaxVisibleItems
24
- } from "./chunk-BNQTJFHQ.js";
24
+ } from "./chunk-VFMHWU3E.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-W3AYWMJM.js");
156
+ const { createLLMClient } = await import("./client-2KVPLIV4.js");
157
157
  client = createLLMClient({
158
158
  llm: {
159
159
  baseUrl: providerConfig.baseUrl,
@@ -202,4 +202,4 @@ export {
202
202
  buildRunChatTurnParams,
203
203
  generateSessionNameForSession
204
204
  };
205
- //# sourceMappingURL=chunk-76ADL7EV.js.map
205
+ //# sourceMappingURL=chunk-E5D7V7XC.js.map
@@ -110,6 +110,10 @@ function runMigrations(db2) {
110
110
  logger.info("Migrating projects table: adding is_starred column");
111
111
  db2.exec(`ALTER TABLE projects ADD COLUMN is_starred INTEGER NOT NULL DEFAULT 0`);
112
112
  }
113
+ if (!projectColumnNames.includes("workspace_root_dir")) {
114
+ logger.info("Migrating projects table: adding workspace_root_dir column");
115
+ db2.exec(`ALTER TABLE projects ADD COLUMN workspace_root_dir TEXT`);
116
+ }
113
117
  db2.exec(`
114
118
  CREATE TABLE IF NOT EXISTS events (
115
119
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -192,4 +196,4 @@ export {
192
196
  initDatabase,
193
197
  getDatabase
194
198
  };
195
- //# sourceMappingURL=chunk-RGUUZD5B.js.map
199
+ //# sourceMappingURL=chunk-EZWSS7LG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getProjectByWorkdir
3
- } from "./chunk-6AE3JPDJ.js";
3
+ } from "./chunk-Q6AKRIM2.js";
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-K44MW7JJ.js";
@@ -343,4 +343,4 @@ export {
343
343
  startInspectProxy,
344
344
  stopAllInspectProxies
345
345
  };
346
- //# sourceMappingURL=chunk-EYIWUONA.js.map
346
+ //# sourceMappingURL=chunk-J2IVK667.js.map
@@ -163,7 +163,7 @@ async function runCli(options) {
163
163
  break;
164
164
  }
165
165
  case "provider": {
166
- const { runProviderCommand } = await import("./provider-YRNABOCC.js");
166
+ const { runProviderCommand } = await import("./provider-I2P3NYUI.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-4D76LEVO.js");
203
+ const { runUpdate } = await import("./update-BHTE5TMY.js");
204
204
  const code = await runUpdate();
205
205
  if (code !== 0) {
206
206
  process.exit(code);
@@ -213,7 +213,7 @@ async function runCli(options) {
213
213
  if (!configExists) {
214
214
  await runNetworkSetup(mode);
215
215
  }
216
- const { runServe } = await import("./serve-AZ5QSSHE.js");
216
+ const { runServe } = await import("./serve-UMPDBCVG.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-5UHHGQ7Q.js.map
228
+ //# sourceMappingURL=chunk-J7R25K6N.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPlatformShell
3
- } from "./chunk-XNPVKFOJ.js";
3
+ } from "./chunk-ANYBIATF.js";
4
4
  import {
5
5
  streamWithSegments
6
6
  } from "./chunk-J2GP3J3X.js";
@@ -680,4 +680,4 @@ export {
680
680
  createChatDoneEvent,
681
681
  consumeStreamGenerator
682
682
  };
683
- //# sourceMappingURL=chunk-TXGW36XL.js.map
683
+ //# sourceMappingURL=chunk-NGIOAASU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLLMClient
3
- } from "./chunk-WWOZHM6D.js";
3
+ } from "./chunk-Q4OPCXV4.js";
4
4
  import {
5
5
  getModelProfile
6
6
  } from "./chunk-V4IE7HJY.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-RMXPVQP4.js";
18
18
  import {
19
19
  proxyFetch
20
- } from "./chunk-LD46ASP5.js";
20
+ } from "./chunk-SYU5GNPN.js";
21
21
  import {
22
22
  logger
23
23
  } from "./chunk-K44MW7JJ.js";
@@ -810,4 +810,4 @@ export {
810
810
  parseDefaultModelSelection,
811
811
  createProviderManager
812
812
  };
813
- //# sourceMappingURL=chunk-SUT4OSXR.js.map
813
+ //# sourceMappingURL=chunk-NTYWC6PD.js.map
@@ -3,17 +3,17 @@ import {
3
3
  computeSessionHash,
4
4
  runAgentTurn,
5
5
  runChatTurn
6
- } from "./chunk-EWUDWUE3.js";
6
+ } from "./chunk-U2ECZUAX.js";
7
7
  import {
8
8
  devServerManager,
9
9
  executeSubAgent,
10
10
  getToolRegistryForAgent
11
- } from "./chunk-QMSTCWYK.js";
11
+ } from "./chunk-7JC5YWST.js";
12
12
  import {
13
13
  checkAborted,
14
14
  onProcessEvent,
15
15
  spawnShellProcess
16
- } from "./chunk-GLRBRQGJ.js";
16
+ } from "./chunk-2GQ7X2NP.js";
17
17
  import {
18
18
  gitSpawnEnv
19
19
  } from "./chunk-J7GAZGZT.js";
@@ -38,14 +38,14 @@ import {
38
38
  } from "./chunk-EU3WWTFH.js";
39
39
  import {
40
40
  appendCompactionPrompt
41
- } from "./chunk-V4V6UGZZ.js";
41
+ } from "./chunk-4S76VMPH.js";
42
42
  import {
43
43
  TurnMetrics,
44
44
  createMessageStartEvent
45
- } from "./chunk-TXGW36XL.js";
45
+ } from "./chunk-NGIOAASU.js";
46
46
  import {
47
47
  getPlatformShell
48
- } from "./chunk-XNPVKFOJ.js";
48
+ } from "./chunk-ANYBIATF.js";
49
49
  import {
50
50
  killProcessTree,
51
51
  terminateProcessTree
@@ -54,11 +54,11 @@ import {
54
54
  combineEventsWithSnapshot,
55
55
  getCurrentContextWindowId,
56
56
  getEventStore
57
- } from "./chunk-DZGVDT2F.js";
57
+ } from "./chunk-RNXMN5QY.js";
58
58
  import {
59
59
  buildMessagesFromStoredEvents,
60
60
  foldPendingConfirmations
61
- } from "./chunk-TW3PNLMA.js";
61
+ } from "./chunk-AGYP7AUV.js";
62
62
  import {
63
63
  deleteItemFromDir,
64
64
  findAgentById,
@@ -67,10 +67,10 @@ import {
67
67
  loadAllAgentsDefault,
68
68
  resolveDefaultAgentId,
69
69
  saveItemToDir
70
- } from "./chunk-BOO6VR2T.js";
70
+ } from "./chunk-7TFKWFY3.js";
71
71
  import {
72
72
  getMaxVisibleItems
73
- } from "./chunk-BNQTJFHQ.js";
73
+ } from "./chunk-VFMHWU3E.js";
74
74
  import {
75
75
  logger
76
76
  } from "./chunk-K44MW7JJ.js";
@@ -2222,4 +2222,4 @@ export {
2222
2222
  signalMcpReady,
2223
2223
  createWebSocketServer
2224
2224
  };
2225
- //# sourceMappingURL=chunk-GO54OTGE.js.map
2225
+ //# sourceMappingURL=chunk-OVSB5SFF.js.map
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  LLMError,
19
19
  OpenAIHttpClient
20
- } from "./chunk-LD46ASP5.js";
20
+ } from "./chunk-SYU5GNPN.js";
21
21
  import {
22
22
  logger
23
23
  } from "./chunk-K44MW7JJ.js";
@@ -268,4 +268,4 @@ function createLLMClient(config, initialBackend = "unknown") {
268
268
  export {
269
269
  createLLMClient
270
270
  };
271
- //# sourceMappingURL=chunk-WWOZHM6D.js.map
271
+ //# sourceMappingURL=chunk-Q4OPCXV4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDatabase
3
- } from "./chunk-RGUUZD5B.js";
3
+ } from "./chunk-EZWSS7LG.js";
4
4
 
5
5
  // src/server/db/projects.ts
6
6
  function createProject(name, workdir) {
@@ -75,6 +75,10 @@ function updateProject(id, updates) {
75
75
  sets.push("danger_level = ?");
76
76
  values.push(updates.dangerLevel);
77
77
  }
78
+ if (updates.workspaceRootDir !== void 0) {
79
+ sets.push("workspace_root_dir = ?");
80
+ values.push(updates.workspaceRootDir);
81
+ }
78
82
  values.push(id);
79
83
  const result = db.prepare(
80
84
  `
@@ -103,6 +107,7 @@ function rowToProject(row) {
103
107
  ...row.custom_instructions ? { customInstructions: row.custom_instructions } : {},
104
108
  ...row.danger_level ? { dangerLevel: row.danger_level } : {},
105
109
  isStarred: !!row.is_starred,
110
+ ...row.workspace_root_dir ? { workspaceRootDir: row.workspace_root_dir } : {},
106
111
  createdAt: row.created_at,
107
112
  updatedAt: row.updated_at
108
113
  };
@@ -117,4 +122,4 @@ export {
117
122
  deleteProject,
118
123
  toggleStar
119
124
  };
120
- //# sourceMappingURL=chunk-6AE3JPDJ.js.map
125
+ //# sourceMappingURL=chunk-Q6AKRIM2.js.map
@@ -5,13 +5,13 @@ import {
5
5
  foldContextState,
6
6
  foldSessionState,
7
7
  spreadOptionalMessageFields
8
- } from "./chunk-TW3PNLMA.js";
8
+ } from "./chunk-AGYP7AUV.js";
9
9
  import {
10
10
  updateSessionMessageCount
11
- } from "./chunk-2DWWLQVQ.js";
11
+ } from "./chunk-TAHZHEJ4.js";
12
12
  import {
13
13
  getRuntimeConfig
14
- } from "./chunk-BOO6VR2T.js";
14
+ } from "./chunk-7TFKWFY3.js";
15
15
  import {
16
16
  logger
17
17
  } from "./chunk-K44MW7JJ.js";
@@ -1159,4 +1159,4 @@ export {
1159
1159
  truncateSessionMessages,
1160
1160
  getRecentUserPromptsForSession
1161
1161
  };
1162
- //# sourceMappingURL=chunk-DZGVDT2F.js.map
1162
+ //# sourceMappingURL=chunk-RNXMN5QY.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-BNQTJFHQ.js";
4
+ } from "./chunk-VFMHWU3E.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-K44MW7JJ.js";
@@ -171,4 +171,4 @@ export {
171
171
  proxyFetch,
172
172
  OpenAIHttpClient
173
173
  };
174
- //# sourceMappingURL=chunk-LD46ASP5.js.map
174
+ //# sourceMappingURL=chunk-SYU5GNPN.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveDefaultAgentId
3
- } from "./chunk-BOO6VR2T.js";
3
+ } from "./chunk-7TFKWFY3.js";
4
4
  import {
5
5
  getDatabase
6
- } from "./chunk-RGUUZD5B.js";
6
+ } from "./chunk-EZWSS7LG.js";
7
7
 
8
8
  // src/server/db/sessions.ts
9
9
  function getProjectDangerLevel(projectId) {
@@ -329,4 +329,4 @@ export {
329
329
  updateSessionBranch,
330
330
  deleteSession
331
331
  };
332
- //# sourceMappingURL=chunk-2DWWLQVQ.js.map
332
+ //# sourceMappingURL=chunk-TAHZHEJ4.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.89";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-TH4JF6XP.js.map
@@ -6,10 +6,10 @@ import {
6
6
  getToolRegistryForAgent,
7
7
  processEventsForConversation,
8
8
  runTopLevelAgentLoop
9
- } from "./chunk-QMSTCWYK.js";
9
+ } from "./chunk-7JC5YWST.js";
10
10
  import {
11
11
  PathAccessDeniedError
12
- } from "./chunk-B53QORTX.js";
12
+ } from "./chunk-3QHXJ3DJ.js";
13
13
  import {
14
14
  TurnMetrics,
15
15
  buildAgentReminder,
@@ -17,22 +17,22 @@ import {
17
17
  buildTopLevelSystemPrompt,
18
18
  createChatDoneEvent,
19
19
  createMessageStartEvent
20
- } from "./chunk-TXGW36XL.js";
20
+ } from "./chunk-NGIOAASU.js";
21
21
  import {
22
22
  getCurrentContextWindowId,
23
23
  getCurrentWindowMessageOptions,
24
24
  getEventStore
25
- } from "./chunk-DZGVDT2F.js";
25
+ } from "./chunk-RNXMN5QY.js";
26
26
  import {
27
27
  buildSnapshotFromSessionState
28
- } from "./chunk-TW3PNLMA.js";
28
+ } from "./chunk-AGYP7AUV.js";
29
29
  import {
30
30
  findAgentById,
31
31
  getRuntimeConfig,
32
32
  getSubAgents,
33
33
  loadAllAgentsDefault,
34
34
  resolveDefaultAgentId
35
- } from "./chunk-BOO6VR2T.js";
35
+ } from "./chunk-7TFKWFY3.js";
36
36
  import {
37
37
  logger
38
38
  } from "./chunk-K44MW7JJ.js";
@@ -69,7 +69,7 @@ function resolveAgentDef(sessionManager, sessionId) {
69
69
  }
70
70
  async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
71
71
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
72
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-A2XBFPRO.js");
72
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-NLKP65HF.js");
73
73
  const tools = getToolRegistryForAgent2(agentDef).definitions;
74
74
  const toolFingerprint = getToolFingerprint(tools);
75
75
  const allAgents = await loadAllAgentsDefault();
@@ -82,7 +82,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef) {
82
82
  async function computeSessionHash(sessionManager, sessionId) {
83
83
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
84
84
  const agentDef = await resolveAgentDef(sessionManager, sessionId);
85
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-A2XBFPRO.js");
85
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-NLKP65HF.js");
86
86
  const tools = getToolRegistryForAgent2(agentDef).definitions;
87
87
  const toolFingerprint = getToolFingerprint(tools);
88
88
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint);
@@ -100,7 +100,7 @@ async function applyDynamicContext(sessionManager, sessionId) {
100
100
 
101
101
  // src/server/chat/orchestrator.ts
102
102
  async function buildRetryPatterns() {
103
- const { getSetting, SETTINGS_KEYS } = await import("./settings-SM3K6S74.js");
103
+ const { getSetting, SETTINGS_KEYS } = await import("./settings-PFZWX6VY.js");
104
104
  const raw = getSetting(SETTINGS_KEYS.RETRY_PATTERNS);
105
105
  if (!raw) {
106
106
  const oldXmlProtection = getSetting("llm.disableXmlProtection");
@@ -362,4 +362,4 @@ export {
362
362
  runChatTurn,
363
363
  runAgentTurn
364
364
  };
365
- //# sourceMappingURL=chunk-EWUDWUE3.js.map
365
+ //# sourceMappingURL=chunk-U2ECZUAX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDatabase
3
- } from "./chunk-RGUUZD5B.js";
3
+ } from "./chunk-EZWSS7LG.js";
4
4
 
5
5
  // src/server/db/settings.ts
6
6
  var SETTINGS_KEYS = {
@@ -112,4 +112,4 @@ export {
112
112
  getAllSettings,
113
113
  getMaxVisibleItems
114
114
  };
115
- //# sourceMappingURL=chunk-BNQTJFHQ.js.map
115
+ //# sourceMappingURL=chunk-VFMHWU3E.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-5UHHGQ7Q.js";
4
+ } from "../chunk-J7R25K6N.js";
5
5
  import "../chunk-XY3LESVZ.js";
6
6
  import {
7
7
  logger
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-5UHHGQ7Q.js";
4
+ } from "../chunk-J7R25K6N.js";
5
5
  import "../chunk-XY3LESVZ.js";
6
6
  import {
7
7
  logger