openfox 2.0.143 → 2.0.145

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 (69) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/CHANGELOG.md +17 -0
  3. package/dist/auto-continue-ZAHNBHPA.js +111 -0
  4. package/dist/{chat-handler-VDB4CSXK.js → chat-handler-5XMO5XBU.js} +26 -25
  5. package/dist/{chunk-QZV3M6V5.js → chunk-2BARKBWV.js} +18 -16
  6. package/dist/{chunk-EX6ROYYS.js → chunk-2DBWCXAQ.js} +3 -3
  7. package/dist/chunk-2DVAF6HY.js +447 -0
  8. package/dist/{chunk-CYTC2E3O.js → chunk-3IVJ65IG.js} +12 -10
  9. package/dist/{chunk-HZOL7UEC.js → chunk-6FKSGQYO.js} +4 -4
  10. package/dist/{chunk-KVDOPLXJ.js → chunk-AWBV2VXO.js} +2 -2
  11. package/dist/{chunk-F3R4YS3F.js → chunk-CCIG3YLG.js} +2 -2
  12. package/dist/{chunk-IMQDO5EJ.js → chunk-DBTDMK23.js} +124 -107
  13. package/dist/{chunk-2CEZQAGQ.js → chunk-DJH6LMBT.js} +2 -2
  14. package/dist/{chunk-EFEHIJXF.js → chunk-E4F32L4Q.js} +2 -2
  15. package/dist/{chunk-CTAYPMB2.js → chunk-FAN4P45J.js} +2 -2
  16. package/dist/{chunk-5KA3L46F.js → chunk-FLTNKZNQ.js} +9 -9
  17. package/dist/{chunk-DNL2NUDB.js → chunk-GZ4EK4LZ.js} +2 -2
  18. package/dist/{chunk-H3QN2J4X.js → chunk-HNJ32GRI.js} +10 -8
  19. package/dist/{chunk-FHBLF2QR.js → chunk-L2RESXUF.js} +2 -2
  20. package/dist/{chunk-VKZBCC75.js → chunk-LG3LQLTZ.js} +13 -11
  21. package/dist/{chunk-DQEANXXF.js → chunk-ODETQHMI.js} +3 -3
  22. package/dist/{chunk-Z4CTMGFH.js → chunk-QKPTMHA2.js} +80 -53
  23. package/dist/chunk-QV4BKKIO.js +7 -0
  24. package/dist/{chunk-N5AJHJG5.js → chunk-STVJA7IX.js} +3 -3
  25. package/dist/{chunk-WSDR27YV.js → chunk-UO4X2ENE.js} +2 -2
  26. package/dist/{chunk-SJTBOREW.js → chunk-VFHGN3IS.js} +4 -4
  27. package/dist/{chunk-7XA3MEX2.js → chunk-X2BJFVER.js} +24 -22
  28. package/dist/{chunk-SKNPOZYP.js → chunk-X6SWZEK7.js} +3 -1
  29. package/dist/{chunk-TIIWXMGE.js → chunk-X7ZAP6YW.js} +2 -2
  30. package/dist/{chunk-MEPTCUYN.js → chunk-YEFZ5HBD.js} +2 -2
  31. package/dist/{chunk-DRIR2IZR.js → chunk-YEW4YEJU.js} +2 -2
  32. package/dist/{chunk-NJFXYSXP.js → chunk-YRSZJ7IZ.js} +11 -441
  33. package/dist/{chunk-Z7IT3V22.js → chunk-ZONLEX2F.js} +8 -4
  34. package/dist/cli/dev.js +1 -1
  35. package/dist/cli/index.js +1 -1
  36. package/dist/{client-ZEGIB3MF.js → client-L4PANCG4.js} +4 -4
  37. package/dist/{compactor-2MSRXHVA.js → compactor-53WDNC2S.js} +11 -10
  38. package/dist/{describe-image-QSEMMRV7.js → describe-image-IGLGVEOJ.js} +12 -11
  39. package/dist/{dynamic-context-3THEBFBI.js → dynamic-context-7AJC6AII.js} +11 -10
  40. package/dist/{events-UAUOGRSV.js → events-ODZ4SSBW.js} +11 -9
  41. package/dist/{export-import-SYYISNTZ.js → export-import-AH5HBHO6.js} +10 -8
  42. package/dist/{folding-IHD244OU.js → folding-V2R2MZ6Y.js} +4 -4
  43. package/dist/{http-client-RA7XFYPO.js → http-client-SZZBSL4U.js} +3 -3
  44. package/dist/{launch-MF2VT7SU.js → launch-2QA2EHCT.js} +26 -25
  45. package/dist/{manager-4SMHCFXY.js → manager-PDG7RKPA.js} +4 -4
  46. package/dist/{orchestrator-BU4RJHPZ.js → orchestrator-L5VINV36.js} +25 -24
  47. package/dist/package.json +1 -1
  48. package/dist/{path-security-WOA6MTWQ.js → path-security-3YFS3GJQ.js} +9 -8
  49. package/dist/{platform-EAZNZDAE.js → platform-WCXMN4NM.js} +3 -3
  50. package/dist/{processor-IZ4EAHPD.js → processor-UQ5ITWL6.js} +25 -24
  51. package/dist/{provider-YNTH5YG5.js → provider-QE7XSGYA.js} +5 -5
  52. package/dist/{provider-manager-2UENHAAA.js → provider-manager-WW2EF76W.js} +5 -5
  53. package/dist/{registry-C7RKKHZB.js → registry-24U5BZAJ.js} +3 -3
  54. package/dist/{serve-KKAOO7YM.js → serve-CIBBSOLM.js} +31 -30
  55. package/dist/server/index.js +30 -29
  56. package/dist/{server-PVO4USPN.js → server-YW3DO4K5.js} +29 -28
  57. package/dist/{service-OQZWTW34.js → service-KMOSB6SU.js} +7 -7
  58. package/dist/{session-overrides-CKS2AVE5.js → session-overrides-GQKE7WGE.js} +5 -5
  59. package/dist/{sessions-DAHLRQE2.js → sessions-A3IZYL6X.js} +4 -4
  60. package/dist/{settings-TR4BF2C4.js → settings-FQUDSGZF.js} +2 -2
  61. package/dist/store-AOZ46PBS.js +23 -0
  62. package/dist/{tasks-WC23TK6I.js → tasks-X5DM553T.js} +7 -7
  63. package/dist/{tools-CECV6XQ6.js → tools-RG4HDV75.js} +30 -29
  64. package/dist/{update-6MBRWJAV.js → update-5ENWM2XR.js} +2 -2
  65. package/dist/web/assets/{index-CxuR2kCS.js → index-DL26wmhi.js} +74 -74
  66. package/dist/web/index.html +1 -1
  67. package/dist/web/sw.js +1 -1
  68. package/package.json +1 -1
  69. package/dist/chunk-6DLQ2AV4.js +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.145 - 2026-09-11
4
+
5
+ ### Bug Fixes
6
+
7
+ - **run_command no longer hangs when a detached child outlives the shell** — `setsid`, `ssh -f`, and `&`-spawned children that keep the output pipes open no longer stall the tool call forever; the tool settles after a bounded 2s grace with the shell's real exit code (noting output may be incomplete), and timeouts or interrupts on an already-exited shell settle immediately.
8
+
9
+ ## 2.0.144 - 2026-09-11
10
+
11
+ ### Features
12
+
13
+ - **New criteria stream live in the feed** — criteria additions appear in the feed's criteria group as they are generated, no refresh needed.
14
+ - **Opt-in boot auto-continuation** — sessions interrupted by a restart resume automatically on the next launch.
15
+
16
+ ### Bug Fixes
17
+
18
+ - **Installed version detected on localized CLIs** — the version is now parsed correctly even when the CLI outputs French or another language.
19
+
3
20
  ## 2.0.143 - 2026-09-10
4
21
 
5
22
  ### Features
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.145 - 2026-09-11
4
+
5
+ ### Bug Fixes
6
+
7
+ - **run_command no longer hangs when a detached child outlives the shell** — `setsid`, `ssh -f`, and `&`-spawned children that keep the output pipes open no longer stall the tool call forever; the tool settles after a bounded 2s grace with the shell's real exit code (noting output may be incomplete), and timeouts or interrupts on an already-exited shell settle immediately.
8
+
9
+ ## 2.0.144 - 2026-09-11
10
+
11
+ ### Features
12
+
13
+ - **New criteria stream live in the feed** — criteria additions appear in the feed's criteria group as they are generated, no refresh needed.
14
+ - **Opt-in boot auto-continuation** — sessions interrupted by a restart resume automatically on the next launch.
15
+
16
+ ### Bug Fixes
17
+
18
+ - **Installed version detected on localized CLIs** — the version is now parsed correctly even when the CLI outputs French or another language.
19
+
3
20
  ## 2.0.143 - 2026-09-10
4
21
 
5
22
  ### Features
@@ -0,0 +1,111 @@
1
+ import "./chunk-QKPTMHA2.js";
2
+ import "./chunk-OAN4BXEW.js";
3
+ import "./chunk-DJH6LMBT.js";
4
+ import "./chunk-PHR64A6U.js";
5
+ import "./chunk-J7GAZGZT.js";
6
+ import "./chunk-2DBWCXAQ.js";
7
+ import "./chunk-UO4X2ENE.js";
8
+ import "./chunk-FLTNKZNQ.js";
9
+ import "./chunk-X7ZAP6YW.js";
10
+ import "./chunk-STVJA7IX.js";
11
+ import {
12
+ createMessageDoneEvent
13
+ } from "./chunk-FAN4P45J.js";
14
+ import {
15
+ CONTINUE_AFTER_STREAM_ERROR_PROMPT,
16
+ CONTINUE_PROMPT
17
+ } from "./chunk-ZONLEX2F.js";
18
+ import "./chunk-VGE6UYND.js";
19
+ import "./chunk-ODETQHMI.js";
20
+ import "./chunk-I72ACQ6R.js";
21
+ import "./chunk-VIJVLLPT.js";
22
+ import "./chunk-2DVAF6HY.js";
23
+ import "./chunk-YRSZJ7IZ.js";
24
+ import "./chunk-E4F32L4Q.js";
25
+ import "./chunk-CCIG3YLG.js";
26
+ import "./chunk-YEW4YEJU.js";
27
+ import "./chunk-OSXPQSLW.js";
28
+ import "./chunk-V5AC2TV7.js";
29
+ import "./chunk-OVAHNEFG.js";
30
+ import "./chunk-LCLH6ZUL.js";
31
+ import "./chunk-YEFZ5HBD.js";
32
+ import "./chunk-AWBV2VXO.js";
33
+ import "./chunk-OA2FURC3.js";
34
+ import "./chunk-J2GP3J3X.js";
35
+ import "./chunk-JYYBSODN.js";
36
+ import "./chunk-L2RESXUF.js";
37
+ import "./chunk-TS5WKTFB.js";
38
+ import "./chunk-FTPQI5TA.js";
39
+ import "./chunk-HNCM3D7Y.js";
40
+ import "./chunk-QMU3ZY2C.js";
41
+ import "./chunk-FSSUPWYO.js";
42
+ import "./chunk-XG3AUMPI.js";
43
+ import "./chunk-GZ4EK4LZ.js";
44
+ import "./chunk-X6SWZEK7.js";
45
+ import "./chunk-WOVWVB5J.js";
46
+ import "./chunk-VKMPR25F.js";
47
+ import {
48
+ logger
49
+ } from "./chunk-K44MW7JJ.js";
50
+ import "./chunk-PW5L4WBG.js";
51
+ import "./chunk-24YKXKCG.js";
52
+ import "./chunk-73BO5OT3.js";
53
+ import "./chunk-CQGTEGKL.js";
54
+ import "./chunk-YLJ4XMA6.js";
55
+
56
+ // src/server/session/auto-continue.ts
57
+ function planBootContinuation(events, hasActiveWorkflow) {
58
+ if (hasActiveWorkflow) return null;
59
+ const finalizeMessageId = findUnfinalizedAssistantMessage(events);
60
+ return finalizeMessageId ? { finalizeMessageId, content: CONTINUE_AFTER_STREAM_ERROR_PROMPT } : { content: CONTINUE_PROMPT };
61
+ }
62
+ function findUnfinalizedAssistantMessage(events) {
63
+ let lastAssistantId;
64
+ const finalized = /* @__PURE__ */ new Set();
65
+ for (const event of events) {
66
+ switch (event.type) {
67
+ case "message.start": {
68
+ const data = event.data;
69
+ if (data.role === "assistant") {
70
+ lastAssistantId = data.messageId;
71
+ }
72
+ break;
73
+ }
74
+ case "message.done":
75
+ case "chat.done": {
76
+ const data = event.data;
77
+ if (data.messageId) {
78
+ finalized.add(data.messageId);
79
+ }
80
+ break;
81
+ }
82
+ }
83
+ }
84
+ if (lastAssistantId && !finalized.has(lastAssistantId)) {
85
+ return lastAssistantId;
86
+ }
87
+ return void 0;
88
+ }
89
+ function runBootAutoContinuations(sessionIds, deps) {
90
+ let continued = 0;
91
+ for (const sessionId of sessionIds) {
92
+ const plan = planBootContinuation(deps.getEvents(sessionId), deps.hasActiveWorkflow(sessionId));
93
+ if (!plan) {
94
+ logger.debug("Skipping boot auto-continuation", { sessionId });
95
+ continue;
96
+ }
97
+ if (plan.finalizeMessageId) {
98
+ deps.appendEvent(sessionId, createMessageDoneEvent(plan.finalizeMessageId, { partial: true }));
99
+ }
100
+ deps.queueMessage(sessionId, plan.content);
101
+ continued++;
102
+ }
103
+ return continued;
104
+ }
105
+ export {
106
+ CONTINUE_AFTER_STREAM_ERROR_PROMPT,
107
+ CONTINUE_PROMPT,
108
+ planBootContinuation,
109
+ runBootAutoContinuations
110
+ };
111
+ //# sourceMappingURL=auto-continue-ZAHNBHPA.js.map
@@ -2,55 +2,56 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-CYTC2E3O.js";
5
+ } from "./chunk-3IVJ65IG.js";
6
6
  import {
7
7
  runChatTurn
8
- } from "./chunk-QZV3M6V5.js";
9
- import "./chunk-H3QN2J4X.js";
10
- import "./chunk-Z4CTMGFH.js";
11
- import "./chunk-2CEZQAGQ.js";
8
+ } from "./chunk-2BARKBWV.js";
9
+ import "./chunk-HNJ32GRI.js";
10
+ import "./chunk-QKPTMHA2.js";
11
+ import "./chunk-OAN4BXEW.js";
12
+ import "./chunk-DJH6LMBT.js";
12
13
  import "./chunk-PHR64A6U.js";
13
14
  import "./chunk-J7GAZGZT.js";
14
- import "./chunk-EX6ROYYS.js";
15
- import "./chunk-WSDR27YV.js";
16
- import "./chunk-5KA3L46F.js";
17
- import "./chunk-TIIWXMGE.js";
18
- import "./chunk-CTAYPMB2.js";
19
- import "./chunk-Z7IT3V22.js";
15
+ import "./chunk-2DBWCXAQ.js";
16
+ import "./chunk-UO4X2ENE.js";
17
+ import "./chunk-FLTNKZNQ.js";
18
+ import "./chunk-X7ZAP6YW.js";
19
+ import "./chunk-STVJA7IX.js";
20
+ import "./chunk-FAN4P45J.js";
21
+ import "./chunk-ZONLEX2F.js";
20
22
  import "./chunk-VGE6UYND.js";
21
- import "./chunk-DQEANXXF.js";
23
+ import "./chunk-ODETQHMI.js";
22
24
  import "./chunk-I72ACQ6R.js";
23
25
  import "./chunk-VIJVLLPT.js";
24
- import "./chunk-OAN4BXEW.js";
25
- import "./chunk-V5AC2TV7.js";
26
- import "./chunk-N5AJHJG5.js";
26
+ import "./chunk-2DVAF6HY.js";
27
27
  import {
28
28
  getEventStore
29
- } from "./chunk-NJFXYSXP.js";
30
- import "./chunk-EFEHIJXF.js";
31
- import "./chunk-F3R4YS3F.js";
32
- import "./chunk-DRIR2IZR.js";
29
+ } from "./chunk-YRSZJ7IZ.js";
30
+ import "./chunk-E4F32L4Q.js";
31
+ import "./chunk-CCIG3YLG.js";
32
+ import "./chunk-YEW4YEJU.js";
33
33
  import "./chunk-OSXPQSLW.js";
34
+ import "./chunk-V5AC2TV7.js";
34
35
  import {
35
36
  createChatMessageMessage,
36
37
  createPhaseChangedMessage,
37
38
  createSessionRunningMessage
38
39
  } from "./chunk-OVAHNEFG.js";
39
40
  import "./chunk-LCLH6ZUL.js";
40
- import "./chunk-MEPTCUYN.js";
41
- import "./chunk-KVDOPLXJ.js";
41
+ import "./chunk-YEFZ5HBD.js";
42
+ import "./chunk-AWBV2VXO.js";
42
43
  import "./chunk-OA2FURC3.js";
43
44
  import "./chunk-J2GP3J3X.js";
44
45
  import "./chunk-JYYBSODN.js";
45
- import "./chunk-FHBLF2QR.js";
46
+ import "./chunk-L2RESXUF.js";
46
47
  import "./chunk-TS5WKTFB.js";
47
48
  import "./chunk-FTPQI5TA.js";
48
49
  import "./chunk-HNCM3D7Y.js";
49
50
  import "./chunk-QMU3ZY2C.js";
50
51
  import "./chunk-FSSUPWYO.js";
51
52
  import "./chunk-XG3AUMPI.js";
52
- import "./chunk-DNL2NUDB.js";
53
- import "./chunk-SKNPOZYP.js";
53
+ import "./chunk-GZ4EK4LZ.js";
54
+ import "./chunk-X6SWZEK7.js";
54
55
  import "./chunk-WOVWVB5J.js";
55
56
  import "./chunk-VKMPR25F.js";
56
57
  import "./chunk-K44MW7JJ.js";
@@ -180,4 +181,4 @@ export {
180
181
  startChatSession,
181
182
  stopSessionExecution
182
183
  };
183
- //# sourceMappingURL=chat-handler-VDB4CSXK.js.map
184
+ //# sourceMappingURL=chat-handler-5XMO5XBU.js.map
@@ -3,49 +3,51 @@ import {
3
3
  checkToolChangesAndInject,
4
4
  computeDynamicContextHash,
5
5
  getToolFingerprint
6
- } from "./chunk-H3QN2J4X.js";
6
+ } from "./chunk-HNJ32GRI.js";
7
7
  import {
8
8
  createAssemblyResult,
9
9
  getConversationMessages,
10
10
  getToolRegistryForAgent,
11
11
  processEventsForConversation,
12
12
  runTopLevelAgentLoop
13
- } from "./chunk-Z4CTMGFH.js";
13
+ } from "./chunk-QKPTMHA2.js";
14
14
  import {
15
15
  getAllInstructions,
16
16
  getEnabledSkillMetadata
17
- } from "./chunk-2CEZQAGQ.js";
17
+ } from "./chunk-DJH6LMBT.js";
18
18
  import {
19
19
  serverT
20
- } from "./chunk-TIIWXMGE.js";
20
+ } from "./chunk-X7ZAP6YW.js";
21
+ import {
22
+ PathAccessDeniedError
23
+ } from "./chunk-STVJA7IX.js";
21
24
  import {
22
25
  TurnMetrics,
23
26
  createChatDoneEvent,
24
27
  createMessageStartEvent
25
- } from "./chunk-CTAYPMB2.js";
28
+ } from "./chunk-FAN4P45J.js";
26
29
  import {
27
30
  buildAgentReminder,
28
31
  buildAgentSmallReminder,
29
32
  buildTopLevelSystemPrompt
30
- } from "./chunk-Z7IT3V22.js";
31
- import {
32
- PathAccessDeniedError
33
- } from "./chunk-N5AJHJG5.js";
33
+ } from "./chunk-ZONLEX2F.js";
34
34
  import {
35
35
  getCurrentContextWindowId,
36
- getCurrentWindowMessageOptions,
36
+ getCurrentWindowMessageOptions
37
+ } from "./chunk-2DVAF6HY.js";
38
+ import {
37
39
  getEventStore
38
- } from "./chunk-NJFXYSXP.js";
40
+ } from "./chunk-YRSZJ7IZ.js";
39
41
  import {
40
42
  buildSnapshotFromSessionState
41
- } from "./chunk-EFEHIJXF.js";
43
+ } from "./chunk-E4F32L4Q.js";
42
44
  import {
43
45
  findAgentById,
44
46
  getRuntimeConfig,
45
47
  getSubAgents,
46
48
  loadAllAgentsDefault,
47
49
  resolveDefaultAgentId
48
- } from "./chunk-DRIR2IZR.js";
50
+ } from "./chunk-YEW4YEJU.js";
49
51
  import {
50
52
  logger
51
53
  } from "./chunk-K44MW7JJ.js";
@@ -55,7 +57,7 @@ import {
55
57
 
56
58
  // src/server/chat/orchestrator.ts
57
59
  async function buildRetryPatterns() {
58
- const { getSetting, SETTINGS_KEYS } = await import("./settings-TR4BF2C4.js");
60
+ const { getSetting, SETTINGS_KEYS } = await import("./settings-FQUDSGZF.js");
59
61
  const raw = getSetting(SETTINGS_KEYS.RETRY_PATTERNS);
60
62
  if (!raw) {
61
63
  const oldXmlProtection = getSetting("llm.disableXmlProtection");
@@ -355,7 +357,7 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
355
357
  getConversationMessages: buildGetConversationMessages(options.sessionId, resolveAgentClient, append),
356
358
  injectAgentReminder: () => injectAgentReminder(options.sessionId, agentDef),
357
359
  rebuildCachedContext: async () => {
358
- const { applyDynamicContext } = await import("./dynamic-context-3THEBFBI.js");
360
+ const { applyDynamicContext } = await import("./dynamic-context-7AJC6AII.js");
359
361
  await applyDynamicContext(options.sessionManager, options.sessionId, agentLlmClient.getModel());
360
362
  },
361
363
  ...options.initialCompacting ? { initialCompacting: true } : {},
@@ -385,4 +387,4 @@ export {
385
387
  runChatTurn,
386
388
  runAgentTurn
387
389
  };
388
- //# sourceMappingURL=chunk-QZV3M6V5.js.map
390
+ //# sourceMappingURL=chunk-2BARKBWV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  serverT
3
- } from "./chunk-TIIWXMGE.js";
3
+ } from "./chunk-X7ZAP6YW.js";
4
4
  import {
5
5
  deleteItemFromDir,
6
6
  getDefaultIds,
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-OSXPQSLW.js";
12
12
  import {
13
13
  parseDefaultModelSelection
14
- } from "./chunk-KVDOPLXJ.js";
14
+ } from "./chunk-AWBV2VXO.js";
15
15
  import {
16
16
  getProject
17
17
  } from "./chunk-JYYBSODN.js";
@@ -1462,4 +1462,4 @@ export {
1462
1462
  isTaskGateError,
1463
1463
  createTasksService
1464
1464
  };
1465
- //# sourceMappingURL=chunk-EX6ROYYS.js.map
1465
+ //# sourceMappingURL=chunk-2DBWCXAQ.js.map