openfox 2.0.113 → 2.0.115

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 (99) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/CHANGELOG.md +43 -0
  3. package/dist/agent-defaults/builder.agent.md +1 -0
  4. package/dist/agent-defaults/planner.agent.md +1 -0
  5. package/dist/{backend-P3GHHLHJ.js → backend-LVYHLGQJ.js} +2 -2
  6. package/dist/{chat-handler-PEK5JDHO.js → chat-handler-5SP265CR.js} +32 -26
  7. package/dist/{chunk-HKD4IMOE.js → chunk-27NABDXB.js} +2 -2
  8. package/dist/{chunk-FF2EKUQO.js → chunk-2FCLCUVR.js} +6 -6
  9. package/dist/{chunk-ONONXV3N.js → chunk-37QLXLML.js} +4 -4
  10. package/dist/{chunk-YB6WYVNY.js → chunk-3KBRMBTP.js} +2 -2
  11. package/dist/{chunk-YGPPFVLJ.js → chunk-3NPLERPQ.js} +17 -17
  12. package/dist/{chunk-XQR76MQ5.js → chunk-3PG65AXG.js} +18 -3
  13. package/dist/chunk-3QQAIUZI.js +957 -0
  14. package/dist/{chunk-PWXBIUEY.js → chunk-5PT4UMRR.js} +89 -1
  15. package/dist/chunk-5V3BF67X.js +7 -0
  16. package/dist/{chunk-6UPBZ2ZR.js → chunk-6KPJLELC.js} +4 -4
  17. package/dist/chunk-6RGACY4E.js +1081 -0
  18. package/dist/{chunk-BNFGDTEU.js → chunk-AESOGRFK.js} +2 -2
  19. package/dist/{chunk-YHEQTVFV.js → chunk-AZHWLLPP.js} +1 -1
  20. package/dist/{chunk-TCGWZBTS.js → chunk-BVVCRIVM.js} +4 -4
  21. package/dist/{chunk-EMI3YYLP.js → chunk-BWVO5WFK.js} +4 -4
  22. package/dist/{chunk-CP44U7BT.js → chunk-ERNWAKUB.js} +7 -7
  23. package/dist/{chunk-WWTYWLDM.js → chunk-HD6Y77RO.js} +2 -2
  24. package/dist/{chunk-4NMGX5F2.js → chunk-I7FY2LTR.js} +2 -2
  25. package/dist/{chunk-5VYSKVZT.js → chunk-JFK4GKQD.js} +321 -54
  26. package/dist/{chunk-43M7QZMX.js → chunk-JGWHRYWG.js} +4 -4
  27. package/dist/{chunk-Y64PEWKP.js → chunk-JLAR2CMV.js} +2 -2
  28. package/dist/{chunk-BYSUSSSC.js → chunk-LNNBLB6G.js} +48 -151
  29. package/dist/{chunk-V4664YKR.js → chunk-LTYL6ZGH.js} +2 -2
  30. package/dist/{chunk-R2MTWC7C.js → chunk-M6X6AIEG.js} +6 -4
  31. package/dist/{chunk-VGRVPYZ5.js → chunk-O6DU226D.js} +2 -2
  32. package/dist/{chunk-TEQEDOWI.js → chunk-OCBBAEMT.js} +288 -316
  33. package/dist/{chunk-SNLLOXCM.js → chunk-OCSTEGK7.js} +3 -3
  34. package/dist/{chunk-HGOTZWON.js → chunk-OKVHMKE2.js} +60 -1064
  35. package/dist/chunk-OSXPQSLW.js +128 -0
  36. package/dist/{chunk-O2YSYW2F.js → chunk-TFF5T3K3.js} +10 -10
  37. package/dist/{chunk-3R43CMLS.js → chunk-TGLVWAFC.js} +11 -11
  38. package/dist/{chunk-L737Y63F.js → chunk-TOKQ2UVG.js} +2 -2
  39. package/dist/{chunk-AZFZE36I.js → chunk-VWEATA7R.js} +18 -8
  40. package/dist/{chunk-BKCW3JLL.js → chunk-X25Q6RAV.js} +1 -1
  41. package/dist/{chunk-JR54MDZI.js → chunk-YX3OQBNX.js} +3 -3
  42. package/dist/{chunk-EC5T5A6O.js → chunk-ZTOG6LJD.js} +3 -3
  43. package/dist/cli/dev.js +1 -1
  44. package/dist/cli/index.js +1 -1
  45. package/dist/client-KE7EDI2D.js +16 -0
  46. package/dist/{client-pure-VFZIIK4S.js → client-pure-66Z6FWS6.js} +2 -2
  47. package/dist/command-defaults/mark-done.command.md +14 -0
  48. package/dist/compactor-SKVC2VNL.js +32 -0
  49. package/dist/{dynamic-context-F2XTQJR5.js → dynamic-context-QNB4ELLP.js} +10 -9
  50. package/dist/{events-224IO5NJ.js → events-5PLO4QJU.js} +9 -7
  51. package/dist/{folding-YTTTVS56.js → folding-CJWYFUKD.js} +7 -5
  52. package/dist/http-client-KLODRQC2.js +11 -0
  53. package/dist/{inspect-proxy-B7LGGTM7.js → inspect-proxy-K6QKEYDT.js} +4 -4
  54. package/dist/launch-EOXVWLOP.js +52 -0
  55. package/dist/{manager-4QGXI6WZ.js → manager-LZ3JQ443.js} +5 -5
  56. package/dist/{model-overrides-OY2YKUNV.js → model-overrides-5UVW3KTE.js} +4 -4
  57. package/dist/orchestrator-ED3KFPXO.js +63 -0
  58. package/dist/package.json +3 -3
  59. package/dist/{path-security-PFMZY7IA.js → path-security-B6EZC63L.js} +13 -11
  60. package/dist/{platform-QNGCKX4L.js → platform-6RPPBHKH.js} +4 -4
  61. package/dist/{processor-NYPJ5PFA.js → processor-226ZOTRI.js} +31 -25
  62. package/dist/{project-creator-AWP2JUFS.js → project-creator-VBFE35NI.js} +3 -3
  63. package/dist/{projects-C4353IQK.js → projects-AXHZOBR2.js} +5 -3
  64. package/dist/{protocol-CBT1d98i.d.ts → protocol-JdxRpPxM.d.ts} +21 -3
  65. package/dist/{protocol-LZZ7C4VQ.js → protocol-RKSWKNXI.js} +3 -3
  66. package/dist/provider/index.d.ts +4 -4
  67. package/dist/{provider-PIRPN2CC.js → provider-DL4ZWQY7.js} +8 -8
  68. package/dist/{provider-manager-GNEPR6UN.js → provider-manager-6CLRMGDE.js} +8 -8
  69. package/dist/{registry-VCKDSVKA.js → registry-5XI5NDBF.js} +6 -4
  70. package/dist/{serve-6DRHQLCG.js → serve-DARV4NJG.js} +36 -33
  71. package/dist/server/index.d.ts +13 -6
  72. package/dist/server/index.js +35 -32
  73. package/dist/server-LQJ7MBDS.js +55 -0
  74. package/dist/service-4JKTGPRG.js +25 -0
  75. package/dist/{session-overrides-RNKV35MU.js → session-overrides-AZKV6BRD.js} +8 -6
  76. package/dist/{sessions-D5CEPQGU.js → sessions-752IZIIK.js} +7 -5
  77. package/dist/{settings-BNRNX6IW.js → settings-2AHDKCD7.js} +3 -3
  78. package/dist/shared/index.d.ts +3 -3
  79. package/dist/shared/index.js +1 -1
  80. package/dist/skill-defaults/workflows/SKILL.md +24 -6
  81. package/dist/tasks-XJXHU623.js +217 -0
  82. package/dist/{tools-2B363F7L.js → tools-QYYNFMGU.js} +31 -23
  83. package/dist/{types-cVfqOj6M.d.ts → types-CIVhQMvD.d.ts} +1 -1
  84. package/dist/{types-BAxh20ZL.d.ts → types-Df7NM9b5.d.ts} +76 -1
  85. package/dist/{update-IQMRYN7J.js → update-2REP2WB6.js} +2 -2
  86. package/dist/web/assets/{index-CjWC6EQ4.css → index-BmILAZrT.css} +1 -1
  87. package/dist/web/assets/index-M7ToECa4.js +324 -0
  88. package/dist/web/index.html +2 -2
  89. package/dist/web/sw.js +1 -1
  90. package/dist/workflow-defaults/default.workflow.json +5 -3
  91. package/dist/{workspace-YUNHV4WS.js → workspace-RMZVTFJD.js} +4 -4
  92. package/package.json +3 -3
  93. package/dist/chunk-B2PHPBFU.js +0 -7
  94. package/dist/client-3LJGD6KY.js +0 -16
  95. package/dist/compactor-ZBNKANHV.js +0 -30
  96. package/dist/http-client-YC3UA5OZ.js +0 -11
  97. package/dist/orchestrator-JKBY7B3P.js +0 -57
  98. package/dist/server-HUHFJW7U.js +0 -48
  99. package/dist/web/assets/index-DBUtUSHK.js +0 -323
@@ -5,9 +5,9 @@ import {
5
5
  parseAgentModelOverrides,
6
6
  resolveLLMClientForAgent,
7
7
  setAgentModelOverride
8
- } from "./chunk-Y64PEWKP.js";
9
- import "./chunk-WWTYWLDM.js";
10
- import "./chunk-PWXBIUEY.js";
8
+ } from "./chunk-JLAR2CMV.js";
9
+ import "./chunk-HD6Y77RO.js";
10
+ import "./chunk-5PT4UMRR.js";
11
11
  import "./chunk-K44MW7JJ.js";
12
12
  import "./chunk-5WRI5ZAA.js";
13
13
  export {
@@ -18,4 +18,4 @@ export {
18
18
  resolveLLMClientForAgent,
19
19
  setAgentModelOverride
20
20
  };
21
- //# sourceMappingURL=model-overrides-OY2YKUNV.js.map
21
+ //# sourceMappingURL=model-overrides-5UVW3KTE.js.map
@@ -0,0 +1,63 @@
1
+ import {
2
+ runAgentTurn,
3
+ runChatTurn
4
+ } from "./chunk-3NPLERPQ.js";
5
+ import "./chunk-JFK4GKQD.js";
6
+ import "./chunk-TFF5T3K3.js";
7
+ import "./chunk-2FCLCUVR.js";
8
+ import {
9
+ TurnMetrics,
10
+ createChatDoneEvent,
11
+ createMessageDoneEvent,
12
+ createMessageStartEvent,
13
+ createToolCallEvent,
14
+ createToolResultEvent
15
+ } from "./chunk-YX3OQBNX.js";
16
+ import "./chunk-27NABDXB.js";
17
+ import "./chunk-M6X6AIEG.js";
18
+ import "./chunk-ZTOG6LJD.js";
19
+ import "./chunk-I72ACQ6R.js";
20
+ import "./chunk-JE7LW7Y6.js";
21
+ import "./chunk-OAN4BXEW.js";
22
+ import "./chunk-O6DU226D.js";
23
+ import "./chunk-J7GAZGZT.js";
24
+ import "./chunk-6RGACY4E.js";
25
+ import "./chunk-OCSTEGK7.js";
26
+ import "./chunk-6KPJLELC.js";
27
+ import "./chunk-ERNWAKUB.js";
28
+ import "./chunk-VWEATA7R.js";
29
+ import "./chunk-I7FY2LTR.js";
30
+ import "./chunk-AESOGRFK.js";
31
+ import "./chunk-JURM3RPZ.js";
32
+ import "./chunk-JLAR2CMV.js";
33
+ import "./chunk-3KBRMBTP.js";
34
+ import "./chunk-LCLH6ZUL.js";
35
+ import "./chunk-LNNBLB6G.js";
36
+ import "./chunk-OSXPQSLW.js";
37
+ import "./chunk-3PG65AXG.js";
38
+ import "./chunk-BVVCRIVM.js";
39
+ import "./chunk-J2GP3J3X.js";
40
+ import "./chunk-JGWHRYWG.js";
41
+ import "./chunk-V4IE7HJY.js";
42
+ import "./chunk-AZHWLLPP.js";
43
+ import "./chunk-HNCM3D7Y.js";
44
+ import "./chunk-TOKQ2UVG.js";
45
+ import "./chunk-LTYL6ZGH.js";
46
+ import "./chunk-HD6Y77RO.js";
47
+ import "./chunk-5PT4UMRR.js";
48
+ import "./chunk-K44MW7JJ.js";
49
+ import "./chunk-X25Q6RAV.js";
50
+ import "./chunk-KSXCOHHW.js";
51
+ import "./chunk-CQGTEGKL.js";
52
+ import "./chunk-5WRI5ZAA.js";
53
+ export {
54
+ TurnMetrics,
55
+ createChatDoneEvent,
56
+ createMessageDoneEvent,
57
+ createMessageStartEvent,
58
+ createToolCallEvent,
59
+ createToolResultEvent,
60
+ runAgentTurn,
61
+ runChatTurn
62
+ };
63
+ //# sourceMappingURL=orchestrator-ED3KFPXO.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.113",
3
+ "version": "2.0.115",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -54,8 +54,8 @@
54
54
  "typecheck:e2e": "tsc --noEmit -p e2e/tsconfig.json",
55
55
  "lint": "eslint src/ web/src/",
56
56
  "lint:fix": "eslint src/ --fix",
57
- "format": "prettier --check \"src/**/*.ts\"",
58
- "format:fix": "prettier --write \"src/**/*.ts\"",
57
+ "format": "prettier --check . --ignore-unknown",
58
+ "format:fix": "prettier --write . --ignore-unknown",
59
59
  "duplicate:server": "jscpd src/server/ --config .jscpd-server.json",
60
60
  "duplicate:web": "jscpd web/src/ --config .jscpd-web.json --threshold 0",
61
61
  "duplicate": "npm run duplicate:server && npm run duplicate:web",
@@ -19,18 +19,20 @@ import {
19
19
  providePathConfirmation,
20
20
  registerPathConfirmation,
21
21
  requestPathAccess
22
- } from "./chunk-6UPBZ2ZR.js";
23
- import "./chunk-CP44U7BT.js";
24
- import "./chunk-4NMGX5F2.js";
25
- import "./chunk-BNFGDTEU.js";
26
- import "./chunk-YB6WYVNY.js";
22
+ } from "./chunk-6KPJLELC.js";
23
+ import "./chunk-ERNWAKUB.js";
24
+ import "./chunk-VWEATA7R.js";
25
+ import "./chunk-I7FY2LTR.js";
26
+ import "./chunk-AESOGRFK.js";
27
+ import "./chunk-3KBRMBTP.js";
27
28
  import "./chunk-LCLH6ZUL.js";
28
- import "./chunk-AZFZE36I.js";
29
- import "./chunk-BYSUSSSC.js";
30
- import "./chunk-WWTYWLDM.js";
31
- import "./chunk-PWXBIUEY.js";
29
+ import "./chunk-LNNBLB6G.js";
30
+ import "./chunk-OSXPQSLW.js";
31
+ import "./chunk-3PG65AXG.js";
32
+ import "./chunk-HD6Y77RO.js";
33
+ import "./chunk-5PT4UMRR.js";
32
34
  import "./chunk-K44MW7JJ.js";
33
- import "./chunk-BKCW3JLL.js";
35
+ import "./chunk-X25Q6RAV.js";
34
36
  import "./chunk-CQGTEGKL.js";
35
37
  import "./chunk-5WRI5ZAA.js";
36
38
  export {
@@ -55,4 +57,4 @@ export {
55
57
  registerPathConfirmation,
56
58
  requestPathAccess
57
59
  };
58
- //# sourceMappingURL=path-security-PFMZY7IA.js.map
60
+ //# sourceMappingURL=path-security-B6EZC63L.js.map
@@ -5,9 +5,9 @@ import {
5
5
  isAbsolutePath,
6
6
  isWindowsPath,
7
7
  listAvailableShells
8
- } from "./chunk-BNFGDTEU.js";
9
- import "./chunk-WWTYWLDM.js";
10
- import "./chunk-PWXBIUEY.js";
8
+ } from "./chunk-AESOGRFK.js";
9
+ import "./chunk-HD6Y77RO.js";
10
+ import "./chunk-5PT4UMRR.js";
11
11
  import "./chunk-K44MW7JJ.js";
12
12
  import "./chunk-5WRI5ZAA.js";
13
13
  export {
@@ -18,4 +18,4 @@ export {
18
18
  isWindowsPath,
19
19
  listAvailableShells
20
20
  };
21
- //# sourceMappingURL=platform-QNGCKX4L.js.map
21
+ //# sourceMappingURL=platform-6RPPBHKH.js.map
@@ -2,45 +2,51 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-3R43CMLS.js";
6
- import "./chunk-5VYSKVZT.js";
7
- import "./chunk-FF2EKUQO.js";
8
- import "./chunk-JR54MDZI.js";
9
- import "./chunk-HKD4IMOE.js";
10
- import "./chunk-R2MTWC7C.js";
11
- import "./chunk-EC5T5A6O.js";
5
+ } from "./chunk-TGLVWAFC.js";
6
+ import "./chunk-JFK4GKQD.js";
7
+ import "./chunk-2FCLCUVR.js";
8
+ import "./chunk-YX3OQBNX.js";
9
+ import "./chunk-27NABDXB.js";
10
+ import "./chunk-M6X6AIEG.js";
11
+ import "./chunk-ZTOG6LJD.js";
12
12
  import "./chunk-I72ACQ6R.js";
13
13
  import "./chunk-JE7LW7Y6.js";
14
14
  import "./chunk-OAN4BXEW.js";
15
- import "./chunk-VGRVPYZ5.js";
15
+ import "./chunk-O6DU226D.js";
16
16
  import "./chunk-J7GAZGZT.js";
17
- import "./chunk-SNLLOXCM.js";
18
- import "./chunk-6UPBZ2ZR.js";
17
+ import "./chunk-6RGACY4E.js";
18
+ import "./chunk-OCSTEGK7.js";
19
+ import "./chunk-6KPJLELC.js";
19
20
  import {
20
21
  getEventStore
21
- } from "./chunk-CP44U7BT.js";
22
+ } from "./chunk-ERNWAKUB.js";
23
+ import "./chunk-VWEATA7R.js";
22
24
  import {
23
25
  createChatMessageMessage,
24
26
  createSessionRunningMessage
25
- } from "./chunk-4NMGX5F2.js";
26
- import "./chunk-BNFGDTEU.js";
27
+ } from "./chunk-I7FY2LTR.js";
28
+ import "./chunk-AESOGRFK.js";
27
29
  import "./chunk-JURM3RPZ.js";
28
- import "./chunk-Y64PEWKP.js";
29
- import "./chunk-XQR76MQ5.js";
30
- import "./chunk-YB6WYVNY.js";
30
+ import "./chunk-JLAR2CMV.js";
31
+ import "./chunk-3KBRMBTP.js";
31
32
  import "./chunk-LCLH6ZUL.js";
32
- import "./chunk-AZFZE36I.js";
33
- import "./chunk-BYSUSSSC.js";
33
+ import "./chunk-LNNBLB6G.js";
34
+ import "./chunk-OSXPQSLW.js";
35
+ import "./chunk-3PG65AXG.js";
36
+ import "./chunk-BVVCRIVM.js";
34
37
  import "./chunk-J2GP3J3X.js";
38
+ import "./chunk-JGWHRYWG.js";
35
39
  import "./chunk-V4IE7HJY.js";
36
- import "./chunk-YHEQTVFV.js";
37
- import "./chunk-L737Y63F.js";
38
- import "./chunk-WWTYWLDM.js";
39
- import "./chunk-PWXBIUEY.js";
40
+ import "./chunk-AZHWLLPP.js";
41
+ import "./chunk-HNCM3D7Y.js";
42
+ import "./chunk-TOKQ2UVG.js";
43
+ import "./chunk-LTYL6ZGH.js";
44
+ import "./chunk-HD6Y77RO.js";
45
+ import "./chunk-5PT4UMRR.js";
40
46
  import {
41
47
  logger
42
48
  } from "./chunk-K44MW7JJ.js";
43
- import "./chunk-BKCW3JLL.js";
49
+ import "./chunk-X25Q6RAV.js";
44
50
  import "./chunk-KSXCOHHW.js";
45
51
  import "./chunk-CQGTEGKL.js";
46
52
  import "./chunk-5WRI5ZAA.js";
@@ -187,7 +193,7 @@ var QueueProcessor = class {
187
193
  backend: provider?.backend ?? llmClient.getBackend(),
188
194
  model: llmClient.getModel()
189
195
  };
190
- const { runChatTurn } = await import("./orchestrator-JKBY7B3P.js");
196
+ const { runChatTurn } = await import("./orchestrator-ED3KFPXO.js");
191
197
  const runChatTurnParams = buildRunChatTurnParams({
192
198
  sessionManager,
193
199
  sessionId,
@@ -235,4 +241,4 @@ var QueueProcessor = class {
235
241
  export {
236
242
  QueueProcessor
237
243
  };
238
- //# sourceMappingURL=processor-NYPJ5PFA.js.map
244
+ //# sourceMappingURL=processor-226ZOTRI.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createProject
3
- } from "./chunk-XQR76MQ5.js";
4
- import "./chunk-PWXBIUEY.js";
3
+ } from "./chunk-3PG65AXG.js";
4
+ import "./chunk-5PT4UMRR.js";
5
5
  import "./chunk-K44MW7JJ.js";
6
6
  import "./chunk-5WRI5ZAA.js";
7
7
 
@@ -122,4 +122,4 @@ export {
122
122
  createDirectoryWithGit,
123
123
  validateProjectName
124
124
  };
125
- //# sourceMappingURL=project-creator-AWP2JUFS.js.map
125
+ //# sourceMappingURL=project-creator-VBFE35NI.js.map
@@ -3,11 +3,12 @@ import {
3
3
  deleteProject,
4
4
  getProject,
5
5
  getProjectByWorkdir,
6
+ getProjectDefaultAgent,
6
7
  listProjects,
7
8
  toggleStar,
8
9
  updateProject
9
- } from "./chunk-XQR76MQ5.js";
10
- import "./chunk-PWXBIUEY.js";
10
+ } from "./chunk-3PG65AXG.js";
11
+ import "./chunk-5PT4UMRR.js";
11
12
  import "./chunk-K44MW7JJ.js";
12
13
  import "./chunk-5WRI5ZAA.js";
13
14
  export {
@@ -15,8 +16,9 @@ export {
15
16
  deleteProject,
16
17
  getProject,
17
18
  getProjectByWorkdir,
19
+ getProjectDefaultAgent,
18
20
  listProjects,
19
21
  toggleStar,
20
22
  updateProject
21
23
  };
22
- //# sourceMappingURL=projects-C4353IQK.js.map
24
+ //# sourceMappingURL=projects-AXHZOBR2.js.map
@@ -1,4 +1,4 @@
1
- import { A as Attachment, K as ToolMode, O as ToolResult, a as Message, J as Todo, c as ContextState, e as Criterion, i as Diagnostic, r as MetadataEntry, y as SessionMode, z as SessionPhase, t as Project, B as SessionSummary, w as Session, W as WorkflowExecution } from './types-BAxh20ZL.js';
1
+ import { A as Attachment, Z as ToolMode, $ as ToolResult, a as Message, Y as Todo, c as ContextState, e as Criterion, i as Diagnostic, r as MetadataEntry, G as SessionMode, H as SessionPhase, t as Project, J as SessionSummary, z as Session, a2 as WorkflowExecution, u as ProjectTask, w as ProjectTaskSettings, v as ProjectTaskCounts, U as TaskGateConfig } from './types-Df7NM9b5.js';
2
2
 
3
3
  type ClientMessageType = 'session.load' | 'context.compact' | 'context.checkDynamic' | 'context.applyDynamic' | 'context.applyDynamic.preview' | 'runner.launch' | 'workflow.exit' | 'path.confirm' | 'ask.answer';
4
4
  interface ClientMessage<T = unknown> {
@@ -23,7 +23,7 @@ interface QueuedMessage {
23
23
  queuedAt: string;
24
24
  messageKind?: string;
25
25
  }
26
- type ServerMessageType = 'project.state' | 'project.list' | 'project.deleted' | 'session.state' | 'session.list' | 'session.created' | 'session.deleted' | 'session.deletedAll' | 'session.running' | 'session.name_generated' | 'session.confirmation_pending' | 'session.confirmation_resolved' | 'chat.delta' | 'chat.thinking' | 'chat.tool_preparing' | 'chat.tool_call' | 'chat.tool_output' | 'chat.tool_result' | 'chat.todo' | 'chat.progress' | 'chat.format_retry' | 'chat.message' | 'chat.message_updated' | 'chat.done' | 'chat.vision_fallback' | 'chat.error' | 'chat.path_confirmation' | 'chat.ask_user' | 'mode.changed' | 'phase.changed' | 'workflow.execution_changed' | 'task.completed' | 'criteria.updated' | 'metadata.updated' | 'context.state' | 'context.preview' | 'settings.value' | 'provider.changed' | 'queue.state' | 'devServer.output' | 'devServer.state' | 'backgroundProcess.started' | 'backgroundProcess.output' | 'backgroundProcess.exited' | 'backgroundProcess.removed' | 'git.status' | 'mcp.servers.changed' | 'lsp.diagnostics' | 'error' | 'ack';
26
+ type ServerMessageType = 'project.state' | 'project.list' | 'project.deleted' | 'session.state' | 'session.list' | 'session.created' | 'session.deleted' | 'session.deletedAll' | 'session.running' | 'session.name_generated' | 'session.confirmation_pending' | 'session.confirmation_resolved' | 'chat.delta' | 'chat.thinking' | 'chat.tool_preparing' | 'chat.tool_call' | 'chat.tool_output' | 'chat.tool_result' | 'chat.todo' | 'chat.progress' | 'chat.format_retry' | 'chat.message' | 'chat.message_updated' | 'chat.done' | 'chat.vision_fallback' | 'chat.error' | 'chat.path_confirmation' | 'chat.ask_user' | 'mode.changed' | 'phase.changed' | 'workflow.execution_changed' | 'task.completed' | 'criteria.updated' | 'metadata.updated' | 'context.state' | 'context.preview' | 'settings.value' | 'provider.changed' | 'queue.state' | 'devServer.output' | 'devServer.state' | 'backgroundProcess.started' | 'backgroundProcess.output' | 'backgroundProcess.exited' | 'backgroundProcess.removed' | 'git.status' | 'tasks.update' | 'mcp.servers.changed' | 'lsp.diagnostics' | 'error' | 'ack';
27
27
  interface ServerMessage<T = unknown> {
28
28
  id?: string;
29
29
  type: ServerMessageType;
@@ -288,6 +288,24 @@ interface GitDiffFile {
288
288
  additions: number;
289
289
  deletions: number;
290
290
  }
291
+ interface TasksUpdatePayload {
292
+ projectId: string;
293
+ /** Full refreshed task list — the modal renders one code path (fetch == push). */
294
+ tasks: ProjectTask[];
295
+ settings: ProjectTaskSettings;
296
+ counts: ProjectTaskCounts;
297
+ /** Current gate configuration — pushed with every board update so config changes sync to all clients. */
298
+ gates?: TaskGateConfig[] | undefined;
299
+ /** Set when a queued task auto-launched so clients can offer to open the session. */
300
+ autoLaunched?: {
301
+ taskId: string;
302
+ taskTitle: string;
303
+ sessionId: string;
304
+ projectId: string;
305
+ } | undefined;
306
+ /** Which task changed, when a targeted update is desired (informational). */
307
+ changedTaskId?: string | undefined;
308
+ }
291
309
  type BackgroundProcessStatus = 'pending' | 'starting' | 'running' | 'stopping' | 'exited';
292
310
  interface BackgroundProcess {
293
311
  id: string;
@@ -405,4 +423,4 @@ interface QueueCancelledEvent {
405
423
  }
406
424
  type QueueEvent = QueueAddedEvent | QueueDrainedEvent | QueueCancelledEvent;
407
425
 
408
- export { type QueueDrainedEvent as $, type AgentEvent as A, type BackgroundProcess as B, type ChatAskUserPayload as C, type ContextPreviewPayload as D, type ContextStatePayload as E, type CriteriaUpdatedPayload as F, type DevServerOutputPayload as G, type DevServerStatePayload as H, type DiffLine as I, type ErrorPayload as J, type GitDiffFile as K, type GitStatusPayload as L, type LogLine as M, type LspDiagnosticsPayload as N, type MetadataUpdatedPayload as O, type ModeChangedPayload as P, type PathConfirmPayload as Q, type PathConfirmationReason as R, type PendingPathConfirmationPayload as S, type PendingQuestionPayload as T, type PhaseChangedPayload as U, type ProjectDeletedPayload as V, type ProjectListPayload as W, type ProjectStatePayload as X, type ProviderChangedPayload as Y, type QueueAddedEvent as Z, type QueueCancelledEvent as _, type AskAnswerPayload as a, type QueueEvent as a0, type QueueEventType as a1, type QueueStatePayload as a2, type QueuedMessage as a3, type ServerMessage as a4, type ServerMessageType as a5, type SessionCreatedPayload as a6, type SessionListPayload as a7, type SessionLoadPayload as a8, type SessionNameGeneratedPayload as a9, type SessionRunningPayload as aa, type SessionStatePayload as ab, type TaskCompletedPayload as ac, type WorkflowWaitingPayload as ad, createClientMessage as ae, createServerMessage as af, isClientMessage as ag, isServerMessage as ah, type AskUserEvent as b, type BackgroundProcessExitedPayload as c, type BackgroundProcessOutputPayload as d, type BackgroundProcessRemovedPayload as e, type BackgroundProcessStartedPayload as f, type BackgroundProcessStatus as g, type ChatDeltaPayload as h, type ChatDonePayload as i, type ChatErrorPayload as j, type ChatFormatRetryPayload as k, type ChatMessagePayload as l, type ChatMessageUpdatedPayload as m, type ChatPathConfirmationPayload as n, type ChatProgressPayload as o, type ChatThinkingPayload as p, type ChatTodoPayload as q, type ChatToolCallPayload as r, type ChatToolOutputPayload as s, type ChatToolPreparingPayload as t, type ChatToolResultPayload as u, type ChatVisionFallbackPayload as v, type ChoiceOption as w, type ClientMessage as x, type ClientMessageType as y, type ContextCompactionEvent as z };
426
+ export { type QueueDrainedEvent as $, type AgentEvent as A, type BackgroundProcess as B, type ChatAskUserPayload as C, type ContextPreviewPayload as D, type ContextStatePayload as E, type CriteriaUpdatedPayload as F, type DevServerOutputPayload as G, type DevServerStatePayload as H, type DiffLine as I, type ErrorPayload as J, type GitDiffFile as K, type GitStatusPayload as L, type LogLine as M, type LspDiagnosticsPayload as N, type MetadataUpdatedPayload as O, type ModeChangedPayload as P, type PathConfirmPayload as Q, type PathConfirmationReason as R, type PendingPathConfirmationPayload as S, type PendingQuestionPayload as T, type PhaseChangedPayload as U, type ProjectDeletedPayload as V, type ProjectListPayload as W, type ProjectStatePayload as X, type ProviderChangedPayload as Y, type QueueAddedEvent as Z, type QueueCancelledEvent as _, type AskAnswerPayload as a, type QueueEvent as a0, type QueueEventType as a1, type QueueStatePayload as a2, type QueuedMessage as a3, type ServerMessage as a4, type ServerMessageType as a5, type SessionCreatedPayload as a6, type SessionListPayload as a7, type SessionLoadPayload as a8, type SessionNameGeneratedPayload as a9, type SessionRunningPayload as aa, type SessionStatePayload as ab, type TaskCompletedPayload as ac, type TasksUpdatePayload as ad, type WorkflowWaitingPayload as ae, createClientMessage as af, createServerMessage as ag, isClientMessage as ah, isServerMessage as ai, type AskUserEvent as b, type BackgroundProcessExitedPayload as c, type BackgroundProcessOutputPayload as d, type BackgroundProcessRemovedPayload as e, type BackgroundProcessStartedPayload as f, type BackgroundProcessStatus as g, type ChatDeltaPayload as h, type ChatDonePayload as i, type ChatErrorPayload as j, type ChatFormatRetryPayload as k, type ChatMessagePayload as l, type ChatMessageUpdatedPayload as m, type ChatPathConfirmationPayload as n, type ChatProgressPayload as o, type ChatThinkingPayload as p, type ChatTodoPayload as q, type ChatToolCallPayload as r, type ChatToolOutputPayload as s, type ChatToolPreparingPayload as t, type ChatToolResultPayload as u, type ChatVisionFallbackPayload as v, type ChoiceOption as w, type ClientMessage as x, type ClientMessageType as y, type ContextCompactionEvent as z };
@@ -35,9 +35,9 @@ import {
35
35
  parseClientMessage,
36
36
  serializeServerMessage,
37
37
  storedEventToServerMessage
38
- } from "./chunk-4NMGX5F2.js";
38
+ } from "./chunk-I7FY2LTR.js";
39
39
  import "./chunk-LCLH6ZUL.js";
40
- import "./chunk-BKCW3JLL.js";
40
+ import "./chunk-X25Q6RAV.js";
41
41
  import "./chunk-5WRI5ZAA.js";
42
42
  export {
43
43
  createChatAskUserMessage,
@@ -77,4 +77,4 @@ export {
77
77
  serializeServerMessage,
78
78
  storedEventToServerMessage
79
79
  };
80
- //# sourceMappingURL=protocol-LZZ7C4VQ.js.map
80
+ //# sourceMappingURL=protocol-RKSWKNXI.js.map
@@ -1,7 +1,7 @@
1
- import { M as ModelConfig } from '../types-BAxh20ZL.js';
2
- export { T as ToolCall } from '../types-BAxh20ZL.js';
3
- import { L as LLMCompletionRequest, a as LLMCompletionResponse, b as LLMStreamEvent } from '../types-cVfqOj6M.js';
4
- export { c as LLMMessage, d as LLMToolDefinition } from '../types-cVfqOj6M.js';
1
+ import { M as ModelConfig } from '../types-Df7NM9b5.js';
2
+ export { T as ToolCall } from '../types-Df7NM9b5.js';
3
+ import { L as LLMCompletionRequest, a as LLMCompletionResponse, b as LLMStreamEvent } from '../types-CIVhQMvD.js';
4
+ export { c as LLMMessage, d as LLMToolDefinition } from '../types-CIVhQMvD.js';
5
5
 
6
6
  type ProviderAuthState = 'disconnected' | 'pending' | 'connected' | 'expired' | 'error';
7
7
  interface ProviderAuthStatus {
@@ -11,16 +11,16 @@ import {
11
11
  import {
12
12
  detectModel,
13
13
  fetchAvailableModelsFromBackend
14
- } from "./chunk-TCGWZBTS.js";
14
+ } from "./chunk-BVVCRIVM.js";
15
15
  import "./chunk-J2GP3J3X.js";
16
- import "./chunk-43M7QZMX.js";
16
+ import "./chunk-JGWHRYWG.js";
17
17
  import "./chunk-V4IE7HJY.js";
18
- import "./chunk-YHEQTVFV.js";
18
+ import "./chunk-AZHWLLPP.js";
19
19
  import "./chunk-HNCM3D7Y.js";
20
- import "./chunk-L737Y63F.js";
21
- import "./chunk-V4664YKR.js";
22
- import "./chunk-WWTYWLDM.js";
23
- import "./chunk-PWXBIUEY.js";
20
+ import "./chunk-TOKQ2UVG.js";
21
+ import "./chunk-LTYL6ZGH.js";
22
+ import "./chunk-HD6Y77RO.js";
23
+ import "./chunk-5PT4UMRR.js";
24
24
  import "./chunk-K44MW7JJ.js";
25
25
  import {
26
26
  activateProvider,
@@ -398,4 +398,4 @@ export {
398
398
  runProviderRemove,
399
399
  runProviderUse
400
400
  };
401
- //# sourceMappingURL=provider-PIRPN2CC.js.map
401
+ //# sourceMappingURL=provider-DL4ZWQY7.js.map
@@ -3,16 +3,16 @@ import {
3
3
  fetchAvailableModelsFromBackend,
4
4
  fetchModelsWithContext,
5
5
  parseDefaultModelSelection
6
- } from "./chunk-TCGWZBTS.js";
6
+ } from "./chunk-BVVCRIVM.js";
7
7
  import "./chunk-J2GP3J3X.js";
8
- import "./chunk-43M7QZMX.js";
8
+ import "./chunk-JGWHRYWG.js";
9
9
  import "./chunk-V4IE7HJY.js";
10
- import "./chunk-YHEQTVFV.js";
10
+ import "./chunk-AZHWLLPP.js";
11
11
  import "./chunk-HNCM3D7Y.js";
12
- import "./chunk-L737Y63F.js";
13
- import "./chunk-V4664YKR.js";
14
- import "./chunk-WWTYWLDM.js";
15
- import "./chunk-PWXBIUEY.js";
12
+ import "./chunk-TOKQ2UVG.js";
13
+ import "./chunk-LTYL6ZGH.js";
14
+ import "./chunk-HD6Y77RO.js";
15
+ import "./chunk-5PT4UMRR.js";
16
16
  import "./chunk-K44MW7JJ.js";
17
17
  import "./chunk-5WRI5ZAA.js";
18
18
  export {
@@ -21,4 +21,4 @@ export {
21
21
  fetchModelsWithContext,
22
22
  parseDefaultModelSelection
23
23
  };
24
- //# sourceMappingURL=provider-manager-GNEPR6UN.js.map
24
+ //# sourceMappingURL=provider-manager-6CLRMGDE.js.map
@@ -17,9 +17,11 @@ import {
17
17
  resolveDefaultAgentId,
18
18
  saveAgent,
19
19
  saveAgentToProject
20
- } from "./chunk-BYSUSSSC.js";
21
- import "./chunk-WWTYWLDM.js";
22
- import "./chunk-PWXBIUEY.js";
20
+ } from "./chunk-LNNBLB6G.js";
21
+ import "./chunk-OSXPQSLW.js";
22
+ import "./chunk-3PG65AXG.js";
23
+ import "./chunk-HD6Y77RO.js";
24
+ import "./chunk-5PT4UMRR.js";
23
25
  import "./chunk-K44MW7JJ.js";
24
26
  import "./chunk-CQGTEGKL.js";
25
27
  import "./chunk-5WRI5ZAA.js";
@@ -43,4 +45,4 @@ export {
43
45
  saveAgent,
44
46
  saveAgentToProject
45
47
  };
46
- //# sourceMappingURL=registry-VCKDSVKA.js.map
48
+ //# sourceMappingURL=registry-5XI5NDBF.js.map
@@ -1,57 +1,60 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-TEQEDOWI.js";
3
+ } from "./chunk-OCBBAEMT.js";
4
4
  import "./chunk-RSB4AR2A.js";
5
5
  import "./chunk-IJ53Y77N.js";
6
- import "./chunk-HGOTZWON.js";
7
- import "./chunk-3R43CMLS.js";
8
- import "./chunk-YGPPFVLJ.js";
9
- import "./chunk-O2YSYW2F.js";
6
+ import "./chunk-OKVHMKE2.js";
7
+ import "./chunk-TGLVWAFC.js";
8
+ import "./chunk-3QQAIUZI.js";
9
+ import "./chunk-3NPLERPQ.js";
10
+ import "./chunk-JFK4GKQD.js";
11
+ import "./chunk-TFF5T3K3.js";
12
+ import "./chunk-2FCLCUVR.js";
10
13
  import "./chunk-WLJJRX22.js";
11
- import "./chunk-EMI3YYLP.js";
12
- import "./chunk-5VYSKVZT.js";
13
- import "./chunk-FF2EKUQO.js";
14
- import "./chunk-JR54MDZI.js";
15
- import "./chunk-HKD4IMOE.js";
16
- import "./chunk-R2MTWC7C.js";
17
- import "./chunk-EC5T5A6O.js";
14
+ import "./chunk-BWVO5WFK.js";
15
+ import "./chunk-YX3OQBNX.js";
16
+ import "./chunk-27NABDXB.js";
17
+ import "./chunk-M6X6AIEG.js";
18
+ import "./chunk-ZTOG6LJD.js";
18
19
  import "./chunk-I72ACQ6R.js";
19
20
  import "./chunk-JE7LW7Y6.js";
20
21
  import "./chunk-OAN4BXEW.js";
21
- import "./chunk-VGRVPYZ5.js";
22
+ import "./chunk-O6DU226D.js";
22
23
  import "./chunk-J7GAZGZT.js";
23
- import "./chunk-SNLLOXCM.js";
24
- import "./chunk-6UPBZ2ZR.js";
25
- import "./chunk-CP44U7BT.js";
26
- import "./chunk-4NMGX5F2.js";
27
- import "./chunk-BNFGDTEU.js";
24
+ import "./chunk-6RGACY4E.js";
25
+ import "./chunk-OCSTEGK7.js";
26
+ import "./chunk-6KPJLELC.js";
27
+ import "./chunk-ERNWAKUB.js";
28
+ import "./chunk-VWEATA7R.js";
29
+ import "./chunk-I7FY2LTR.js";
30
+ import "./chunk-AESOGRFK.js";
28
31
  import "./chunk-JURM3RPZ.js";
29
- import "./chunk-Y64PEWKP.js";
30
- import "./chunk-XQR76MQ5.js";
32
+ import "./chunk-JLAR2CMV.js";
31
33
  import {
32
34
  VERSION
33
- } from "./chunk-B2PHPBFU.js";
34
- import "./chunk-YB6WYVNY.js";
35
+ } from "./chunk-5V3BF67X.js";
36
+ import "./chunk-3KBRMBTP.js";
35
37
  import "./chunk-LCLH6ZUL.js";
36
- import "./chunk-AZFZE36I.js";
37
38
  import {
38
39
  loadConfig
39
- } from "./chunk-BYSUSSSC.js";
40
- import "./chunk-TCGWZBTS.js";
40
+ } from "./chunk-LNNBLB6G.js";
41
+ import "./chunk-OSXPQSLW.js";
42
+ import "./chunk-3PG65AXG.js";
43
+ import "./chunk-BVVCRIVM.js";
41
44
  import "./chunk-J2GP3J3X.js";
42
- import "./chunk-43M7QZMX.js";
45
+ import "./chunk-JGWHRYWG.js";
43
46
  import "./chunk-V4IE7HJY.js";
44
- import "./chunk-YHEQTVFV.js";
47
+ import "./chunk-AZHWLLPP.js";
45
48
  import "./chunk-HNCM3D7Y.js";
46
- import "./chunk-L737Y63F.js";
47
- import "./chunk-V4664YKR.js";
48
- import "./chunk-WWTYWLDM.js";
49
- import "./chunk-PWXBIUEY.js";
49
+ import "./chunk-TOKQ2UVG.js";
50
+ import "./chunk-LTYL6ZGH.js";
51
+ import "./chunk-HD6Y77RO.js";
52
+ import "./chunk-5PT4UMRR.js";
50
53
  import {
51
54
  logger
52
55
  } from "./chunk-K44MW7JJ.js";
53
56
  import "./chunk-VUQCQXXJ.js";
54
- import "./chunk-BKCW3JLL.js";
57
+ import "./chunk-X25Q6RAV.js";
55
58
  import {
56
59
  getActiveProvider,
57
60
  getDefaultModel,
@@ -223,4 +226,4 @@ async function runServe(options) {
223
226
  export {
224
227
  runServe
225
228
  };
226
- //# sourceMappingURL=serve-6DRHQLCG.js.map
229
+ //# sourceMappingURL=serve-DARV4NJG.js.map
@@ -1,7 +1,7 @@
1
- import { i as Diagnostic, u as Provider, M as ModelConfig, w as Session, B as SessionSummary, t as Project, y as SessionMode, z as SessionPhase, U as UserStepChoice, W as WorkflowExecution, a as Message, e as Criterion, g as CriterionStatus, r as MetadataEntry, A as Attachment, c as ContextState, D as DangerLevel$1, H as StatsIdentity, O as ToolResult, b as Config } from '../types-BAxh20ZL.js';
1
+ import { i as Diagnostic, x as Provider, M as ModelConfig, z as Session, J as SessionSummary, t as Project, G as SessionMode, H as SessionPhase, a0 as UserStepChoice, a2 as WorkflowExecution, a as Message, e as Criterion, g as CriterionStatus, r as MetadataEntry, A as Attachment, c as ContextState, D as DangerLevel$1, N as StatsIdentity, $ as ToolResult, b as Config } from '../types-Df7NM9b5.js';
2
2
  import { Server } from 'node:http';
3
- import { e as LLMClient, d as LLMToolDefinition } from '../types-cVfqOj6M.js';
4
- import { a3 as QueuedMessage, a4 as ServerMessage } from '../protocol-CBT1d98i.js';
3
+ import { e as LLMClient, d as LLMToolDefinition } from '../types-CIVhQMvD.js';
4
+ import { a3 as QueuedMessage, a4 as ServerMessage } from '../protocol-JdxRpPxM.js';
5
5
 
6
6
  /**
7
7
  * Model-specific configuration profiles.
@@ -348,6 +348,13 @@ declare class SessionManager {
348
348
  * Uses workspace path when active, otherwise the project workdir.
349
349
  */
350
350
  getEffectiveWorkdir(sessionId: string): string;
351
+ /**
352
+ * Get the project root working directory for a session.
353
+ * Ignores any active workspace — session.workdir is always the project root,
354
+ * which is where project-scoped .openfox/ content (agents, skills, commands,
355
+ * workflows) lives and is managed from.
356
+ */
357
+ getProjectWorkdir(sessionId: string): string;
351
358
  /**
352
359
  * Create a new session. Emits session.initialized event.
353
360
  * Note: maxTokens is no longer stored in the session - it comes from the current model config
@@ -446,7 +453,7 @@ declare class SessionManager {
446
453
  * Start a new workflow execution. Cancels any existing active execution first,
447
454
  * then inserts a new row and emits events.
448
455
  */
449
- startWorkflow(sessionId: string, executionId: string, workflowId: string, workflowName: string, workflowColor: string | undefined, params: Record<string, string>): void;
456
+ startWorkflow(sessionId: string, executionId: string, workflowId: string, workflowName: string, workflowColor: string | undefined, params: Record<string, string>, subGroup?: string): void;
450
457
  /**
451
458
  * Update the current step of a running workflow execution.
452
459
  */
@@ -561,7 +568,7 @@ declare class SessionManager {
561
568
  /**
562
569
  * Record that a file was read.
563
570
  */
564
- recordFileRead(sessionId: string, filePath: string, contentHash: string): void;
571
+ recordFileRead(sessionId: string, filePath: string, contentHash: string, relPath?: string): void;
565
572
  /**
566
573
  * Get read files cache.
567
574
  */
@@ -572,7 +579,7 @@ declare class SessionManager {
572
579
  /**
573
580
  * Update file hash after write.
574
581
  */
575
- updateFileHash(sessionId: string, filePath: string, contentHash: string): void;
582
+ updateFileHash(sessionId: string, filePath: string, contentHash: string, relPath?: string): void;
576
583
  /**
577
584
  * Record a tool failure.
578
585
  */