openfox 2.0.114 → 2.0.116

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 (120) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/CHANGELOG.md +43 -0
  3. package/dist/{ask-ZYPCJKZD.js → ask-UBIRH3SO.js} +2 -2
  4. package/dist/{auth-YY5PJYSC.js → auth-GTGIGX5X.js} +2 -2
  5. package/dist/{auto-config-T5GR2N6X.js → auto-config-AAUO4PKW.js} +2 -2
  6. package/dist/{backend-LVYHLGQJ.js → backend-67OLCS5O.js} +2 -2
  7. package/dist/{branch.api-XVTYACSH.js → branch.api-UMKSQMSA.js} +2 -2
  8. package/dist/changelog-FZUE6OSG.js +63 -0
  9. package/dist/{chat-handler-KWXRSWXZ.js → chat-handler-Z6BEY66U.js} +31 -31
  10. package/dist/{chunk-2XD65L7M.js → chunk-27NABDXB.js} +2 -2
  11. package/dist/{chunk-YGJIK3CG.js → chunk-2FCLCUVR.js} +5 -5
  12. package/dist/{chunk-UTIQ7OO5.js → chunk-3KBRMBTP.js} +2 -2
  13. package/dist/{chunk-SFZGMB2G.js → chunk-3PG65AXG.js} +18 -3
  14. package/dist/{chunk-QD7MRMCH.js → chunk-4E52GUXJ.js} +231 -173
  15. package/dist/{chunk-I7FY2LTR.js → chunk-4GHLULHB.js} +18 -2
  16. package/dist/{chunk-K733B5T2.js → chunk-4HV3PDEK.js} +135 -134
  17. package/dist/{chunk-PBW3YC3G.js → chunk-5PT4UMRR.js} +5 -1
  18. package/dist/{chunk-NWJLWLKF.js → chunk-6XHDNSA3.js} +11 -11
  19. package/dist/{chunk-SA34STZ6.js → chunk-AESOGRFK.js} +2 -2
  20. package/dist/{chunk-4H427UBV.js → chunk-AGXJ5O63.js} +2 -2
  21. package/dist/{chunk-7GWARYQC.js → chunk-BH3BBUGB.js} +24 -22
  22. package/dist/{chunk-L63Q4JQJ.js → chunk-EQ5CGNOT.js} +3 -3
  23. package/dist/{chunk-NLO64UE3.js → chunk-EQ7DK2TG.js} +10 -6
  24. package/dist/{chunk-MUSPWEBB.js → chunk-GZTMCTUS.js} +4 -4
  25. package/dist/{chunk-HP5CIB66.js → chunk-HD6Y77RO.js} +2 -2
  26. package/dist/chunk-HNHSUQCN.js +7 -0
  27. package/dist/{chunk-W77NBJAZ.js → chunk-HYPXL7K5.js} +178 -33
  28. package/dist/{chunk-OTYAEEX3.js → chunk-HZSKKJHQ.js} +9 -8
  29. package/dist/{chunk-JP7NM545.js → chunk-JLAR2CMV.js} +2 -2
  30. package/dist/{chunk-3O77NT4T.js → chunk-KLQEL2DZ.js} +10 -4
  31. package/dist/{chunk-UPBWEHIL.js → chunk-LNNBLB6G.js} +20 -5
  32. package/dist/{chunk-OXSTNSCF.js → chunk-LTYL6ZGH.js} +2 -2
  33. package/dist/{chunk-P5UANBBX.js → chunk-M6X6AIEG.js} +2 -2
  34. package/dist/{chunk-LXYPMFTH.js → chunk-MKWS7TQH.js} +4 -4
  35. package/dist/{chunk-SBSUDHL4.js → chunk-O6DU226D.js} +2 -2
  36. package/dist/{chunk-HV6IALXF.js → chunk-QJWTBVJO.js} +14 -14
  37. package/dist/{chunk-BZVW77PI.js → chunk-QQVPUZQB.js} +157 -21
  38. package/dist/{chunk-GUHHUDNL.js → chunk-SQLJRO3J.js} +10 -10
  39. package/dist/{chunk-JXLRL5JR.js → chunk-TGVDUK4N.js} +7 -7
  40. package/dist/{chunk-L737Y63F.js → chunk-TOKQ2UVG.js} +2 -2
  41. package/dist/{chunk-FW4NDUBL.js → chunk-U4HMAYAD.js} +15 -14
  42. package/dist/{chunk-V4IE7HJY.js → chunk-W7VIYHPQ.js} +2 -2
  43. package/dist/{chunk-VPVLO436.js → chunk-X3XKYGUN.js} +4 -4
  44. package/dist/{chunk-5WRI5ZAA.js → chunk-YLJ4XMA6.js} +6 -2
  45. package/dist/{chunk-X25Q6RAV.js → chunk-ZKLE2Q3I.js} +1 -1
  46. package/dist/{chunk-TKKP56QK.js → chunk-ZTOG6LJD.js} +3 -3
  47. package/dist/cli/dev.js +3 -3
  48. package/dist/cli/index.js +3 -3
  49. package/dist/client-KCNTDTIR.js +16 -0
  50. package/dist/{client-pure-VFZIIK4S.js → client-pure-B5DHEKQJ.js} +3 -3
  51. package/dist/command-defaults/mark-done.command.md +14 -0
  52. package/dist/compactor-LAXZLPPA.js +32 -0
  53. package/dist/{config-EAB3V4QK.js → config-TUCHLIWD.js} +2 -2
  54. package/dist/{dynamic-context-MVGOF5V2.js → dynamic-context-YHWFFP53.js} +10 -10
  55. package/dist/{events-PI7IMPHT.js → events-IVPAMMR5.js} +9 -8
  56. package/dist/{folding-FO57K4JM.js → folding-RTGU63BW.js} +7 -6
  57. package/dist/http-client-IPUW2MSW.js +11 -0
  58. package/dist/inspect-proxy-WPEDMCG7.js +13 -0
  59. package/dist/{install-CPOPMCSE.js → install-VA2F6X6Z.js} +2 -2
  60. package/dist/launch-PAVQAWGP.js +52 -0
  61. package/dist/{manager-66YAEO7K.js → manager-EMLSLMMT.js} +6 -6
  62. package/dist/{model-overrides-L53PZNZA.js → model-overrides-7F2EOA4U.js} +5 -5
  63. package/dist/{oauth-provider-52YILVUJ.js → oauth-provider-DGBC2YM6.js} +2 -2
  64. package/dist/{oauth-store-XCFXV2VM.js → oauth-store-KECHUT54.js} +2 -2
  65. package/dist/{openFolder-HX7X356L.js → openFolder-XCMSU3OI.js} +2 -2
  66. package/dist/orchestrator-CS3KXLZE.js +63 -0
  67. package/dist/package.json +5 -2
  68. package/dist/{path-security-RSEI3YKB.js → path-security-JTCHWYG3.js} +13 -12
  69. package/dist/{paths-F27V3S4I.js → paths-BHR7CZ7I.js} +2 -2
  70. package/dist/{permissions-K6YEA2ZZ.js → permissions-UKR524ZB.js} +2 -2
  71. package/dist/{platform-WA4GK5BO.js → platform-ECDDYMAR.js} +5 -5
  72. package/dist/{processor-WDZSFBVO.js → processor-RZD4JRDX.js} +30 -30
  73. package/dist/profiles-GYHXBWPV.js +10 -0
  74. package/dist/{project-creator-676WQXVI.js → project-creator-PMQ65NKN.js} +4 -4
  75. package/dist/{projects-SSBWIYL4.js → projects-NDPNOV6D.js} +6 -4
  76. package/dist/{protocol-BzHs024-.d.ts → protocol-CfUkCYxF.d.ts} +12 -3
  77. package/dist/{protocol-RKSWKNXI.js → protocol-HYA5BYVN.js} +8 -4
  78. package/dist/provider/index.d.ts +4 -4
  79. package/dist/{provider-PLIWRBCF.js → provider-Q7J4UFTS.js} +11 -11
  80. package/dist/{provider-manager-2QSJTPWS.js → provider-manager-TMBO4DFG.js} +9 -9
  81. package/dist/{pwa-XPHP3PY2.js → pwa-2GRFSXD7.js} +3 -3
  82. package/dist/{registry-ZP4TN2IN.js → registry-5QL3BOWN.js} +6 -5
  83. package/dist/{serve-MZ3BCCWC.js → serve-KR22J37W.js} +36 -36
  84. package/dist/server/index.d.ts +26 -6
  85. package/dist/server/index.js +35 -35
  86. package/dist/server-ESKTIZL5.js +55 -0
  87. package/dist/service-M7XJHAK4.js +25 -0
  88. package/dist/{service-CXWJQFOZ.js → service-WKABQHKL.js} +2 -2
  89. package/dist/{session-overrides-LXN6W7SA.js → session-overrides-CWBKPHMF.js} +8 -7
  90. package/dist/{sessions-CHPVUG6H.js → sessions-I7ELDIIP.js} +9 -6
  91. package/dist/{settings-NEBM3GQX.js → settings-FGXQHKUH.js} +4 -4
  92. package/dist/shared/index.d.ts +3 -3
  93. package/dist/shared/index.js +2 -2
  94. package/dist/{store-SARB6V2N.js → store-JYPZ2RXB.js} +2 -2
  95. package/dist/{tasks-TJXG2V3U.js → tasks-X5H5HM4J.js} +12 -12
  96. package/dist/{tool-adapter-FEAHWU5C.js → tool-adapter-FJAFLDZA.js} +2 -2
  97. package/dist/{tools-CIM26IFB.js → tools-KBS6X3EN.js} +28 -28
  98. package/dist/{types-CbggXFvR.d.ts → types-CIVhQMvD.d.ts} +1 -1
  99. package/dist/{types-CMtHpDWT.d.ts → types-Df7NM9b5.d.ts} +2 -0
  100. package/dist/{update-UZBBO42X.js → update-TDS6LP5N.js} +4 -4
  101. package/dist/{update-server-LOOXIXDW.js → update-server-SVPV6ZJZ.js} +2 -2
  102. package/dist/{url-utils-SAJP7AEX.js → url-utils-C5BM7NF7.js} +2 -2
  103. package/dist/web/assets/index-ChtRS33s.js +324 -0
  104. package/dist/web/assets/{index-BmILAZrT.css → index-c43YT-4A.css} +1 -1
  105. package/dist/web/index.html +2 -2
  106. package/dist/web/sw.js +1 -1
  107. package/dist/workflow-defaults/default.workflow.json +2 -2
  108. package/dist/{workspace-2XODU4YJ.js → workspace-IQLLHMYR.js} +5 -5
  109. package/package.json +5 -2
  110. package/dist/chunk-NCZRWCJN.js +0 -7
  111. package/dist/client-EM7ISGUP.js +0 -16
  112. package/dist/compactor-V3LR7APW.js +0 -31
  113. package/dist/http-client-33EZ3BLR.js +0 -11
  114. package/dist/inspect-proxy-NHKQQ2CD.js +0 -13
  115. package/dist/launch-L5ROVNI3.js +0 -52
  116. package/dist/orchestrator-XK5K3RPL.js +0 -63
  117. package/dist/profiles-5J7F4BML.js +0 -10
  118. package/dist/server-EPXODFMB.js +0 -55
  119. package/dist/service-54PGIPDQ.js +0 -25
  120. package/dist/web/assets/index-rZHXkfMq.js +0 -324
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.116 - 2026-08-11
4
+
5
+ ### Features
6
+
7
+ - **Split view for multiple sessions** — run independent sessions side-by-side in one window, each with its own feed, sidebar, and responsive layout
8
+ - **Workflow steps retry automatically** — LLM-failed steps retry with escalating backoff and a clean history
9
+ - **Changelog trimmed to your upgrade path** — release notes only show what changed since the version you last ran
10
+
11
+ ### Enhancements
12
+
13
+ - **Bigger default response limit** — max response tokens raised from 4096 to 16384
14
+ - **Header task badge tracks running work** — only actively running tasks count toward the green badge
15
+
16
+ ### Bug Fixes
17
+
18
+ - **False path confirmations eliminated** — sed/awk/perl/ruby regex expressions no longer trip the file-access guard
19
+ - **Sandbox escapes now flagged** — bare-root paths and dot-dot traversal outside the workdir are caught
20
+ - **Context size survives failed calls** — a failed LLM query keeps the last known context size
21
+ - **System-prompt warning scoped per pane** — the "prompt changed" banner only shows in the session that changed
22
+ - **Setup workspace step stays scoped** — the workflow's first step only creates the workspace, no premature implementation
23
+ - **Dependency vulnerabilities patched** — npm audit reports zero known issues
24
+
25
+ ## 2.0.115 - 2026-08-11
26
+
27
+ ### Features
28
+
29
+ - **Built-in Mark Task as Done command** — a bundled command that guides agents through completing a task
30
+ - **Per-project default agent for new sessions** — choose the agent fresh chats start with in Project Settings
31
+
32
+ ### Enhancements
33
+
34
+ - **Task board output renders as a kanban board** — project_tasks tool results show in the chat feed with columns, running/queued badges, and gate chips
35
+ - **New custom agents default to top-level type** — instead of being created as sub-agents
36
+
37
+ ### Bug Fixes
38
+
39
+ - **Partial thinking resumes cleanly on strict APIs** — content-less assistant messages now carry a space instead of null, clearing the "content or tool_calls must be set" 400
40
+ - **Workspace edits honor reads from the original clone** — the write/edit guard no longer rejects after browsing files in the base workspace
41
+ - **.openfox/ content resolves from the project root** — skills, commands, agents, and workflows scope to the session's project wherever it lives
42
+ - **Custom agents save beside their project** — not the server directory
43
+ - **session_metadata reads render real output** — the feed shows actual entries instead of a placeholder
44
+ - **Task sessions get auto-generated names** — and Open session links to a real session
45
+
3
46
  ## 2.0.114 - 2026-08-10
4
47
 
5
48
  ### Features
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.116 - 2026-08-11
4
+
5
+ ### Features
6
+
7
+ - **Split view for multiple sessions** — run independent sessions side-by-side in one window, each with its own feed, sidebar, and responsive layout
8
+ - **Workflow steps retry automatically** — LLM-failed steps retry with escalating backoff and a clean history
9
+ - **Changelog trimmed to your upgrade path** — release notes only show what changed since the version you last ran
10
+
11
+ ### Enhancements
12
+
13
+ - **Bigger default response limit** — max response tokens raised from 4096 to 16384
14
+ - **Header task badge tracks running work** — only actively running tasks count toward the green badge
15
+
16
+ ### Bug Fixes
17
+
18
+ - **False path confirmations eliminated** — sed/awk/perl/ruby regex expressions no longer trip the file-access guard
19
+ - **Sandbox escapes now flagged** — bare-root paths and dot-dot traversal outside the workdir are caught
20
+ - **Context size survives failed calls** — a failed LLM query keeps the last known context size
21
+ - **System-prompt warning scoped per pane** — the "prompt changed" banner only shows in the session that changed
22
+ - **Setup workspace step stays scoped** — the workflow's first step only creates the workspace, no premature implementation
23
+ - **Dependency vulnerabilities patched** — npm audit reports zero known issues
24
+
25
+ ## 2.0.115 - 2026-08-11
26
+
27
+ ### Features
28
+
29
+ - **Built-in Mark Task as Done command** — a bundled command that guides agents through completing a task
30
+ - **Per-project default agent for new sessions** — choose the agent fresh chats start with in Project Settings
31
+
32
+ ### Enhancements
33
+
34
+ - **Task board output renders as a kanban board** — project_tasks tool results show in the chat feed with columns, running/queued badges, and gate chips
35
+ - **New custom agents default to top-level type** — instead of being created as sub-agents
36
+
37
+ ### Bug Fixes
38
+
39
+ - **Partial thinking resumes cleanly on strict APIs** — content-less assistant messages now carry a space instead of null, clearing the "content or tool_calls must be set" 400
40
+ - **Workspace edits honor reads from the original clone** — the write/edit guard no longer rejects after browsing files in the base workspace
41
+ - **.openfox/ content resolves from the project root** — skills, commands, agents, and workflows scope to the session's project wherever it lives
42
+ - **Custom agents save beside their project** — not the server directory
43
+ - **session_metadata reads render real output** — the feed shows actual entries instead of a placeholder
44
+ - **Task sessions get auto-generated names** — and Open session links to a real session
45
+
3
46
  ## 2.0.114 - 2026-08-10
4
47
 
5
48
  ### Features
@@ -9,7 +9,7 @@ import {
9
9
  provideAnswer
10
10
  } from "./chunk-JURM3RPZ.js";
11
11
  import "./chunk-LCLH6ZUL.js";
12
- import "./chunk-5WRI5ZAA.js";
12
+ import "./chunk-YLJ4XMA6.js";
13
13
  export {
14
14
  AskUserInterrupt,
15
15
  askUserTool,
@@ -20,4 +20,4 @@ export {
20
20
  hasPendingQuestion,
21
21
  provideAnswer
22
22
  };
23
- //# sourceMappingURL=ask-ZYPCJKZD.js.map
23
+ //# sourceMappingURL=ask-UBIRH3SO.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getAuthConfigPath
3
3
  } from "./chunk-CQGTEGKL.js";
4
- import "./chunk-5WRI5ZAA.js";
4
+ import "./chunk-YLJ4XMA6.js";
5
5
 
6
6
  // src/cli/auth.ts
7
7
  import { readFile, writeFile, mkdir, access } from "fs/promises";
@@ -48,4 +48,4 @@ export {
48
48
  saveAuthConfig,
49
49
  verifyPassword
50
50
  };
51
- //# sourceMappingURL=auth-YY5PJYSC.js.map
51
+ //# sourceMappingURL=auth-GTGIGX5X.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-K44MW7JJ.js";
7
- import "./chunk-5WRI5ZAA.js";
7
+ import "./chunk-YLJ4XMA6.js";
8
8
 
9
9
  // src/server/providers/auto-config.ts
10
10
  var NON_THINKING_COMBOS = [
@@ -186,4 +186,4 @@ async function autoConfig(input) {
186
186
  export {
187
187
  autoConfig
188
188
  };
189
- //# sourceMappingURL=auto-config-T5GR2N6X.js.map
189
+ //# sourceMappingURL=auto-config-AAUO4PKW.js.map
@@ -2,9 +2,9 @@ import {
2
2
  getBackendCapabilities,
3
3
  getBackendDisplayName
4
4
  } from "./chunk-AZHWLLPP.js";
5
- import "./chunk-5WRI5ZAA.js";
5
+ import "./chunk-YLJ4XMA6.js";
6
6
  export {
7
7
  getBackendCapabilities,
8
8
  getBackendDisplayName
9
9
  };
10
- //# sourceMappingURL=backend-LVYHLGQJ.js.map
10
+ //# sourceMappingURL=backend-67OLCS5O.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-K44MW7JJ.js";
7
- import "./chunk-5WRI5ZAA.js";
7
+ import "./chunk-YLJ4XMA6.js";
8
8
 
9
9
  // src/server/branch.api.ts
10
10
  import { spawn } from "child_process";
@@ -51,4 +51,4 @@ function getGitBranch(cwd) {
51
51
  export {
52
52
  getCurrentBranch
53
53
  };
54
- //# sourceMappingURL=branch.api-XVTYACSH.js.map
54
+ //# sourceMappingURL=branch.api-UMKSQMSA.js.map
@@ -0,0 +1,63 @@
1
+ import "./chunk-YLJ4XMA6.js";
2
+
3
+ // src/server/utils/changelog.ts
4
+ var VERSION_HEADING_RE = /^##\s+\[?(\d+\.\d+\.\d+)\]?(?:\s+-.*)?$/;
5
+ function parseVersion(version) {
6
+ const parts = version.split(".");
7
+ if (parts.length !== 3) return null;
8
+ const nums = parts.map((part) => Number(part));
9
+ if (nums.some((num) => !Number.isInteger(num))) return null;
10
+ return nums;
11
+ }
12
+ function isValidVersion(version) {
13
+ return parseVersion(version) !== null;
14
+ }
15
+ function gtVersion(a, b) {
16
+ const pa = parseVersion(a);
17
+ const pb = parseVersion(b);
18
+ if (!pa || !pb) return false;
19
+ for (let i = 0; i < 3; i++) {
20
+ const x = pa[i];
21
+ const y = pb[i];
22
+ if (x !== y) return x > y;
23
+ }
24
+ return false;
25
+ }
26
+ function parseVersionHeading(line) {
27
+ const match = VERSION_HEADING_RE.exec(line.trimEnd());
28
+ return match ? match[1] ?? null : null;
29
+ }
30
+ function trimChangelog(content, since) {
31
+ if (!since || !isValidVersion(since)) return content;
32
+ const lines = content.split("\n");
33
+ let i = 0;
34
+ const header = [];
35
+ for (; i < lines.length; i++) {
36
+ const line = lines[i];
37
+ if (line.startsWith("## ")) break;
38
+ header.push(line);
39
+ }
40
+ const sections = [];
41
+ let current = null;
42
+ for (; i < lines.length; i++) {
43
+ const line = lines[i];
44
+ if (line.startsWith("## ")) {
45
+ current = { heading: line, body: [] };
46
+ sections.push(current);
47
+ } else if (current) {
48
+ current.body.push(line);
49
+ }
50
+ }
51
+ const kept = sections.filter((section) => {
52
+ const version = parseVersionHeading(section.heading);
53
+ return version === null || gtVersion(version, since);
54
+ });
55
+ if (kept.length === 0) return header.join("\n").trimEnd();
56
+ const parts = [header.join("\n"), ...kept.map((section) => [section.heading, ...section.body].join("\n"))];
57
+ return parts.join("\n").replace(/\n{3,}/g, "\n\n").trimEnd();
58
+ }
59
+ export {
60
+ parseVersionHeading,
61
+ trimChangelog
62
+ };
63
+ //# sourceMappingURL=changelog-FZUE6OSG.js.map
@@ -2,57 +2,57 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-NWJLWLKF.js";
5
+ } from "./chunk-6XHDNSA3.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-FW4NDUBL.js";
9
- import "./chunk-K733B5T2.js";
10
- import "./chunk-GUHHUDNL.js";
11
- import "./chunk-YGJIK3CG.js";
12
- import "./chunk-NLO64UE3.js";
13
- import "./chunk-2XD65L7M.js";
14
- import "./chunk-P5UANBBX.js";
15
- import "./chunk-TKKP56QK.js";
8
+ } from "./chunk-U4HMAYAD.js";
9
+ import "./chunk-4HV3PDEK.js";
10
+ import "./chunk-SQLJRO3J.js";
11
+ import "./chunk-2FCLCUVR.js";
12
+ import "./chunk-EQ7DK2TG.js";
13
+ import "./chunk-27NABDXB.js";
14
+ import "./chunk-M6X6AIEG.js";
15
+ import "./chunk-ZTOG6LJD.js";
16
16
  import "./chunk-I72ACQ6R.js";
17
17
  import "./chunk-JE7LW7Y6.js";
18
18
  import "./chunk-OAN4BXEW.js";
19
- import "./chunk-SBSUDHL4.js";
19
+ import "./chunk-O6DU226D.js";
20
20
  import "./chunk-J7GAZGZT.js";
21
- import "./chunk-OTYAEEX3.js";
22
- import "./chunk-L63Q4JQJ.js";
23
- import "./chunk-BZVW77PI.js";
21
+ import "./chunk-HZSKKJHQ.js";
22
+ import "./chunk-EQ5CGNOT.js";
23
+ import "./chunk-QQVPUZQB.js";
24
24
  import {
25
25
  getEventStore
26
- } from "./chunk-JXLRL5JR.js";
26
+ } from "./chunk-TGVDUK4N.js";
27
+ import "./chunk-KLQEL2DZ.js";
27
28
  import {
28
29
  createChatMessageMessage,
29
30
  createPhaseChangedMessage,
30
31
  createSessionRunningMessage
31
- } from "./chunk-I7FY2LTR.js";
32
- import "./chunk-SA34STZ6.js";
32
+ } from "./chunk-4GHLULHB.js";
33
+ import "./chunk-AESOGRFK.js";
33
34
  import "./chunk-JURM3RPZ.js";
34
- import "./chunk-JP7NM545.js";
35
- import "./chunk-SFZGMB2G.js";
36
- import "./chunk-UTIQ7OO5.js";
35
+ import "./chunk-JLAR2CMV.js";
36
+ import "./chunk-3KBRMBTP.js";
37
37
  import "./chunk-LCLH6ZUL.js";
38
- import "./chunk-3O77NT4T.js";
39
- import "./chunk-UPBWEHIL.js";
38
+ import "./chunk-LNNBLB6G.js";
40
39
  import "./chunk-OSXPQSLW.js";
41
- import "./chunk-MUSPWEBB.js";
40
+ import "./chunk-3PG65AXG.js";
41
+ import "./chunk-GZTMCTUS.js";
42
42
  import "./chunk-J2GP3J3X.js";
43
- import "./chunk-LXYPMFTH.js";
44
- import "./chunk-V4IE7HJY.js";
43
+ import "./chunk-MKWS7TQH.js";
44
+ import "./chunk-W7VIYHPQ.js";
45
45
  import "./chunk-AZHWLLPP.js";
46
46
  import "./chunk-HNCM3D7Y.js";
47
- import "./chunk-L737Y63F.js";
48
- import "./chunk-OXSTNSCF.js";
49
- import "./chunk-HP5CIB66.js";
50
- import "./chunk-PBW3YC3G.js";
47
+ import "./chunk-TOKQ2UVG.js";
48
+ import "./chunk-LTYL6ZGH.js";
49
+ import "./chunk-HD6Y77RO.js";
50
+ import "./chunk-5PT4UMRR.js";
51
51
  import "./chunk-K44MW7JJ.js";
52
- import "./chunk-X25Q6RAV.js";
52
+ import "./chunk-ZKLE2Q3I.js";
53
53
  import "./chunk-KSXCOHHW.js";
54
54
  import "./chunk-CQGTEGKL.js";
55
- import "./chunk-5WRI5ZAA.js";
55
+ import "./chunk-YLJ4XMA6.js";
56
56
 
57
57
  // src/server/session/chat-handler.ts
58
58
  var activeAgents = /* @__PURE__ */ new Map();
@@ -173,4 +173,4 @@ export {
173
173
  startChatSession,
174
174
  stopSessionExecution
175
175
  };
176
- //# sourceMappingURL=chat-handler-KWXRSWXZ.js.map
176
+ //# sourceMappingURL=chat-handler-Z6BEY66U.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPlatformShell
3
- } from "./chunk-SA34STZ6.js";
3
+ } from "./chunk-AESOGRFK.js";
4
4
 
5
5
  // src/server/tools/tool-policy.ts
6
6
  var ALWAYS_ALLOWED = /* @__PURE__ */ new Set(["step_done"]);
@@ -246,4 +246,4 @@ export {
246
246
  buildAgentSmallReminder,
247
247
  COMPACTION_PROMPT
248
248
  };
249
- //# sourceMappingURL=chunk-2XD65L7M.js.map
249
+ //# sourceMappingURL=chunk-27NABDXB.js.map
@@ -1,17 +1,17 @@
1
- import {
2
- getProject
3
- } from "./chunk-SFZGMB2G.js";
4
1
  import {
5
2
  deleteItemFromDir,
6
3
  loadItemsFromDir,
7
4
  pathExists
8
5
  } from "./chunk-OSXPQSLW.js";
6
+ import {
7
+ getProject
8
+ } from "./chunk-3PG65AXG.js";
9
9
  import {
10
10
  SETTINGS_KEYS,
11
11
  deleteSetting,
12
12
  getSetting,
13
13
  setSetting
14
- } from "./chunk-HP5CIB66.js";
14
+ } from "./chunk-HD6Y77RO.js";
15
15
 
16
16
  // src/server/context/instructions.ts
17
17
  import { readFile, access } from "fs/promises";
@@ -440,4 +440,4 @@ export {
440
440
  deleteSkill,
441
441
  deleteProjectSkill
442
442
  };
443
- //# sourceMappingURL=chunk-YGJIK3CG.js.map
443
+ //# sourceMappingURL=chunk-2FCLCUVR.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-LCLH6ZUL.js";
4
4
  import {
5
5
  resolveDefaultAgentId
6
- } from "./chunk-UPBWEHIL.js";
6
+ } from "./chunk-LNNBLB6G.js";
7
7
 
8
8
  // src/server/events/apply-events.ts
9
9
  function markComplete(msg, reason) {
@@ -965,4 +965,4 @@ export {
965
965
  buildSnapshot,
966
966
  buildSnapshotFromSessionState
967
967
  };
968
- //# sourceMappingURL=chunk-UTIQ7OO5.js.map
968
+ //# sourceMappingURL=chunk-3KBRMBTP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDatabase
3
- } from "./chunk-PBW3YC3G.js";
3
+ } from "./chunk-5PT4UMRR.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.defaultAgent !== void 0) {
79
+ sets.push("default_agent = ?");
80
+ values.push(updates.defaultAgent);
81
+ }
78
82
  if (updates.workspaceRootDir !== void 0) {
79
83
  sets.push("workspace_root_dir = ?");
80
84
  values.push(updates.workspaceRootDir);
@@ -103,6 +107,15 @@ function toggleStar(id, isStarred) {
103
107
  db.prepare("UPDATE projects SET is_starred = ? WHERE id = ?").run(isStarred ? 1 : 0, id);
104
108
  return getProject(id);
105
109
  }
110
+ function getProjectDefaultAgent(projectId) {
111
+ try {
112
+ const db = getDatabase();
113
+ const row = db.prepare("SELECT default_agent FROM projects WHERE id = ?").get(projectId);
114
+ return row?.default_agent ?? null;
115
+ } catch {
116
+ return null;
117
+ }
118
+ }
106
119
  function rowToProject(row) {
107
120
  return {
108
121
  id: row.id,
@@ -110,6 +123,7 @@ function rowToProject(row) {
110
123
  workdir: row.workdir,
111
124
  ...row.custom_instructions ? { customInstructions: row.custom_instructions } : {},
112
125
  ...row.danger_level ? { dangerLevel: row.danger_level } : {},
126
+ ...row.default_agent ? { defaultAgent: row.default_agent } : {},
113
127
  isStarred: !!row.is_starred,
114
128
  ...row.workspace_root_dir ? { workspaceRootDir: row.workspace_root_dir } : {},
115
129
  ...row.mcp_overrides ? {
@@ -127,6 +141,7 @@ export {
127
141
  listProjects,
128
142
  updateProject,
129
143
  deleteProject,
130
- toggleStar
144
+ toggleStar,
145
+ getProjectDefaultAgent
131
146
  };
132
- //# sourceMappingURL=chunk-SFZGMB2G.js.map
147
+ //# sourceMappingURL=chunk-3PG65AXG.js.map