openfox 2.0.101 → 2.0.103

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 (68) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/CHANGELOG.md +25 -0
  3. package/dist/{chat-handler-YPWT4MAQ.js → chat-handler-IBFSBSGV.js} +22 -21
  4. package/dist/{chunk-O2PLNJIU.js → chunk-2EYTYXWN.js} +2 -2
  5. package/dist/{chunk-MRWR3SIT.js → chunk-4Z2ARCY3.js} +2 -2
  6. package/dist/{chunk-AY37NB76.js → chunk-5ZJYEINJ.js} +2 -2
  7. package/dist/{chunk-XTKLA4AK.js → chunk-73EV6QYX.js} +4 -4
  8. package/dist/{chunk-XLI6PDJG.js → chunk-7HIJP4PC.js} +2 -2
  9. package/dist/{chunk-W77HIJGH.js → chunk-AI27N57J.js} +3 -3
  10. package/dist/{chunk-VJILJ22N.js → chunk-BJDQPILB.js} +3 -3
  11. package/dist/{chunk-MO3GJIT3.js → chunk-DPRJYQ5U.js} +132 -43
  12. package/dist/{chunk-3LRYZ7R3.js → chunk-FQS7A5M4.js} +2 -2
  13. package/dist/{chunk-NWO6GRYE.js → chunk-JE7LW7Y6.js} +2 -1
  14. package/dist/{chunk-MBYXZ5V5.js → chunk-JL657X72.js} +5 -5
  15. package/dist/{chunk-C6QW2IDH.js → chunk-K6VVTE6C.js} +30 -28
  16. package/dist/{chunk-UIK6GA3P.js → chunk-KCED2X4H.js} +2 -2
  17. package/dist/{chunk-NLN5LPQ4.js → chunk-KKEBXFB3.js} +2 -2
  18. package/dist/{chunk-HAFRPV7I.js → chunk-KLK5N4OX.js} +3 -3
  19. package/dist/{chunk-KQPDU65K.js → chunk-MGKS2NG2.js} +3 -3
  20. package/dist/{chunk-TDHDLDGQ.js → chunk-MR7ZEGOF.js} +2 -2
  21. package/dist/{chunk-CFTT46KH.js → chunk-QL2G5UWE.js} +26 -24
  22. package/dist/{chunk-7GBFQ2PE.js → chunk-REQIAJTV.js} +245 -111
  23. package/dist/{chunk-ZIMGU5ZH.js → chunk-RZC6DAT2.js} +2 -2
  24. package/dist/chunk-SQYMFWY7.js +7 -0
  25. package/dist/chunk-W5FTCTGY.js +72 -0
  26. package/dist/{chunk-E2CSSHSI.js → chunk-W5RC44R6.js} +10 -10
  27. package/dist/{chunk-KNYPBXPW.js → chunk-WPCYFH6X.js} +4 -4
  28. package/dist/{chunk-UEOEA6BB.js → chunk-YZSBJUGC.js} +3 -2
  29. package/dist/{chunk-IXFEXEUL.js → chunk-Z753S3X7.js} +6 -6
  30. package/dist/{chunk-G5JFKTSR.js → chunk-ZLCPNTRT.js} +4 -4
  31. package/dist/cli/dev.js +1 -1
  32. package/dist/cli/index.js +1 -1
  33. package/dist/{client-CFTJH6BY.js → client-Q7BHKOCD.js} +5 -5
  34. package/dist/{client-pure-DCEZBFKW.js → client-pure-ONSVWEG5.js} +2 -2
  35. package/dist/{compactor-B4V75Q3A.js → compactor-43P3LGDU.js} +11 -11
  36. package/dist/{dynamic-context-MA5BIJ52.js → dynamic-context-AMPVZXUU.js} +7 -7
  37. package/dist/{events-4THEZWVL.js → events-RCC32JOA.js} +6 -6
  38. package/dist/{folding-OYBO2NTH.js → folding-ZNUXPQUD.js} +4 -4
  39. package/dist/{http-client-U6DVFL7F.js → http-client-WGNBG7PC.js} +3 -3
  40. package/dist/{manager-53J5P4EZ.js → manager-HFGJLW7Q.js} +4 -4
  41. package/dist/model-overrides-DQDT5Y7R.js +21 -0
  42. package/dist/{orchestrator-DHBU7LRB.js → orchestrator-QDXKDLOW.js} +26 -25
  43. package/dist/package.json +1 -1
  44. package/dist/{path-security-6GYETPWN.js → path-security-SUFEIBTC.js} +7 -7
  45. package/dist/{platform-7KXP3VVA.js → platform-2RLL7RAE.js} +3 -3
  46. package/dist/{processor-RC3IBY2J.js → processor-YWNLWAZW.js} +21 -20
  47. package/dist/{provider-PEJ27FBM.js → provider-FX3QCGAF.js} +6 -6
  48. package/dist/{provider-manager-EJGPSLOZ.js → provider-manager-GLG6BA32.js} +6 -6
  49. package/dist/{registry-QEOTM3IG.js → registry-GBNLVWYQ.js} +3 -3
  50. package/dist/{serve-KM2RVX2U.js → serve-FE4UAXGE.js} +27 -26
  51. package/dist/server/index.d.ts +15 -0
  52. package/dist/server/index.js +26 -25
  53. package/dist/server-QGQGSHW6.js +47 -0
  54. package/dist/{service-2PW2V25M.js → service-CXWJQFOZ.js} +62 -20
  55. package/dist/{session-overrides-BQSE3V3F.js → session-overrides-MBGBX6TM.js} +5 -5
  56. package/dist/{sessions-AUDWMF55.js → sessions-FEIFYGH7.js} +4 -4
  57. package/dist/{settings-2WVGUPYV.js → settings-FT7HF7ZB.js} +2 -2
  58. package/dist/skill-defaults/browser/SKILL.md +8 -1
  59. package/dist/{tool-adapter-MOGEI6TP.js → tool-adapter-FEAHWU5C.js} +2 -2
  60. package/dist/{tools-X5FONL4Q.js → tools-M5DKWCJJ.js} +19 -16
  61. package/dist/{update-GHS75L7T.js → update-KMPQUPQT.js} +2 -2
  62. package/dist/web/assets/{index-BG5sD2ez.css → index-B0CNNl1k.css} +1 -1
  63. package/dist/web/assets/{index-CCBacuE6.js → index-FWViKQkM.js} +83 -83
  64. package/dist/web/index.html +2 -2
  65. package/dist/web/sw.js +1 -1
  66. package/package.json +1 -1
  67. package/dist/chunk-UCNMVJXD.js +0 -7
  68. package/dist/server-ORYMG5HD.js +0 -46
@@ -2,21 +2,33 @@ import {
2
2
  generateSessionNameForSession,
3
3
  getSessionMessageCount,
4
4
  needsNameGeneration
5
- } from "./chunk-E2CSSHSI.js";
5
+ } from "./chunk-W5RC44R6.js";
6
6
  import {
7
7
  runAgentTurn,
8
8
  runChatTurn
9
- } from "./chunk-CFTT46KH.js";
9
+ } from "./chunk-QL2G5UWE.js";
10
+ import {
11
+ applyDynamicContext,
12
+ computeSessionHash,
13
+ computeUnifiedDiff
14
+ } from "./chunk-Z753S3X7.js";
15
+ import {
16
+ appendCompactionPrompt
17
+ } from "./chunk-73EV6QYX.js";
10
18
  import {
11
19
  devServerManager,
12
20
  executeSubAgent,
13
21
  getToolRegistryForAgent
14
- } from "./chunk-MO3GJIT3.js";
22
+ } from "./chunk-DPRJYQ5U.js";
23
+ import {
24
+ TurnMetrics,
25
+ createMessageStartEvent
26
+ } from "./chunk-5ZJYEINJ.js";
15
27
  import {
16
28
  checkAborted,
17
29
  onProcessEvent,
18
30
  spawnShellProcess
19
- } from "./chunk-HAFRPV7I.js";
31
+ } from "./chunk-KLK5N4OX.js";
20
32
  import {
21
33
  killProcessTree,
22
34
  terminateProcessTree
@@ -25,10 +37,10 @@ import {
25
37
  gitSpawnEnv
26
38
  } from "./chunk-J7GAZGZT.js";
27
39
  import {
28
- applyDynamicContext,
29
- computeSessionHash,
30
- computeUnifiedDiff
31
- } from "./chunk-IXFEXEUL.js";
40
+ combineEventsWithSnapshot,
41
+ getCurrentContextWindowId,
42
+ getEventStore
43
+ } from "./chunk-WPCYFH6X.js";
32
44
  import {
33
45
  createChatErrorMessage,
34
46
  createChatMessageMessage,
@@ -48,25 +60,13 @@ import {
48
60
  getPendingQuestionsForSession,
49
61
  provideAnswer
50
62
  } from "./chunk-EU3WWTFH.js";
51
- import {
52
- appendCompactionPrompt
53
- } from "./chunk-XTKLA4AK.js";
54
- import {
55
- TurnMetrics,
56
- createMessageStartEvent
57
- } from "./chunk-AY37NB76.js";
58
- import {
59
- combineEventsWithSnapshot,
60
- getCurrentContextWindowId,
61
- getEventStore
62
- } from "./chunk-KNYPBXPW.js";
63
63
  import {
64
64
  getPlatformShell
65
- } from "./chunk-NLN5LPQ4.js";
65
+ } from "./chunk-KKEBXFB3.js";
66
66
  import {
67
67
  buildMessagesFromStoredEvents,
68
68
  foldPendingConfirmations
69
- } from "./chunk-O2PLNJIU.js";
69
+ } from "./chunk-2EYTYXWN.js";
70
70
  import {
71
71
  deleteItemFromDir,
72
72
  findAgentById,
@@ -75,10 +75,10 @@ import {
75
75
  loadAllAgentsDefault,
76
76
  resolveDefaultAgentId,
77
77
  saveItemToDir
78
- } from "./chunk-3LRYZ7R3.js";
78
+ } from "./chunk-FQS7A5M4.js";
79
79
  import {
80
80
  getMaxVisibleItems
81
- } from "./chunk-UEOEA6BB.js";
81
+ } from "./chunk-YZSBJUGC.js";
82
82
  import {
83
83
  logger
84
84
  } from "./chunk-K44MW7JJ.js";
@@ -745,6 +745,7 @@ async function executeWorkflow(workflow, options, subGroup) {
745
745
  const activeSteps = subGroup ? workflow.steps.filter((s) => s.subGroup === subGroup) : workflow.steps;
746
746
  const resumeFromStep = options.resumeFromStep;
747
747
  const isResume = !!resumeFromStep;
748
+ let resumeConsumed = false;
748
749
  let currentStepId = isResume ? resumeFromStep : subGroup ? activeSteps[0]?.id ?? workflow.entryStep : workflow.entryStep;
749
750
  let lastStepOutput = options.initialStepOutput ?? {};
750
751
  const firstEntryForStep = /* @__PURE__ */ new Set();
@@ -888,7 +889,7 @@ async function executeWorkflow(workflow, options, subGroup) {
888
889
  const STEP_DONE_NUDGE = "You haven't called step_done(). If you haven't finished the task, continue and when you're finished call step_done()";
889
890
  let promptContent;
890
891
  let nudgeContent;
891
- const isResumingCurrentStep = isResume && step.id === resumeFromStep;
892
+ const isResumingCurrentStep = isResume && step.id === resumeFromStep && !resumeConsumed;
892
893
  if (!firstEntryForStep.has(step.id) && agentStep.prompt && !isResumingCurrentStep) {
893
894
  const resolvedPrompt = resolveTemplate(agentStep.prompt, templateCtx);
894
895
  promptContent = resolvedPrompt + STEP_DONE_PROMPT;
@@ -953,6 +954,7 @@ async function executeWorkflow(workflow, options, subGroup) {
953
954
  }
954
955
  );
955
956
  firstEntryForStep.add(step.id);
957
+ resumeConsumed = true;
956
958
  const agentReturnValue = agentResult.returnValueResult ?? "completed";
957
959
  lastStepOutput = {
958
960
  ...agentResult.returnValueContent ? { content: agentResult.returnValueContent } : {},
@@ -2161,8 +2163,8 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
2161
2163
  const sessionId = client.activeSessionId;
2162
2164
  const session = sessionManager.requireSession(sessionId);
2163
2165
  try {
2164
- const { buildCachedPrompt } = await import("./dynamic-context-MA5BIJ52.js");
2165
- const allAgents = await import("./registry-QEOTM3IG.js");
2166
+ const { buildCachedPrompt } = await import("./dynamic-context-AMPVZXUU.js");
2167
+ const allAgents = await import("./registry-GBNLVWYQ.js");
2166
2168
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
2167
2169
  const { systemPrompt: newPrompt, hash: newHash } = await buildCachedPrompt(sessionManager, sessionId, agentDef);
2168
2170
  const oldCached = sessionManager.getCachedPrompt(sessionId);
@@ -2477,4 +2479,4 @@ export {
2477
2479
  signalMcpReady,
2478
2480
  createWebSocketServer
2479
2481
  };
2480
- //# sourceMappingURL=chunk-C6QW2IDH.js.map
2482
+ //# sourceMappingURL=chunk-K6VVTE6C.js.map
@@ -627,7 +627,7 @@ async function buildChatCompletionCreateParams(model, request, profile, capabili
627
627
  ;
628
628
  params["reasoning_effort"] = resolvedEffort;
629
629
  }
630
- if (resolvedEffort && capabilities.supportsChatTemplateKwargs) {
630
+ if (request.reasoningEffort && capabilities.supportsChatTemplateKwargs) {
631
631
  ;
632
632
  params["chat_template_kwargs"] = {
633
633
  enable_thinking: true
@@ -687,4 +687,4 @@ export {
687
687
  buildStreamingCreateParams,
688
688
  mapFinishReason
689
689
  };
690
- //# sourceMappingURL=chunk-UIK6GA3P.js.map
690
+ //# sourceMappingURL=chunk-KCED2X4H.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-UEOEA6BB.js";
4
+ } from "./chunk-YZSBJUGC.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-NLN5LPQ4.js.map
66
+ //# sourceMappingURL=chunk-KKEBXFB3.js.map
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-I72ACQ6R.js";
12
12
  import {
13
13
  getPlatformShell
14
- } from "./chunk-NLN5LPQ4.js";
14
+ } from "./chunk-KKEBXFB3.js";
15
15
  import {
16
16
  SETTINGS_KEYS,
17
17
  getSetting
18
- } from "./chunk-UEOEA6BB.js";
18
+ } from "./chunk-YZSBJUGC.js";
19
19
 
20
20
  // src/server/utils/shell.ts
21
21
  import { spawn } from "child_process";
@@ -163,4 +163,4 @@ export {
163
163
  getSessionProcesses2 as getSessionProcesses,
164
164
  getProcessLogs
165
165
  };
166
- //# sourceMappingURL=chunk-HAFRPV7I.js.map
166
+ //# sourceMappingURL=chunk-KLK5N4OX.js.map
@@ -5,13 +5,13 @@ import {
5
5
  deleteItemFromDir,
6
6
  loadItemsFromDir,
7
7
  pathExists
8
- } from "./chunk-3LRYZ7R3.js";
8
+ } from "./chunk-FQS7A5M4.js";
9
9
  import {
10
10
  SETTINGS_KEYS,
11
11
  deleteSetting,
12
12
  getSetting,
13
13
  setSetting
14
- } from "./chunk-UEOEA6BB.js";
14
+ } from "./chunk-YZSBJUGC.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-KQPDU65K.js.map
443
+ //# sourceMappingURL=chunk-MGKS2NG2.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SETTINGS_KEYS,
3
3
  getSetting
4
- } from "./chunk-UEOEA6BB.js";
4
+ } from "./chunk-YZSBJUGC.js";
5
5
  import {
6
6
  logger
7
7
  } from "./chunk-K44MW7JJ.js";
@@ -161,4 +161,4 @@ export {
161
161
  WorkspaceInUseError,
162
162
  OpenAIHttpClient
163
163
  };
164
- //# sourceMappingURL=chunk-TDHDLDGQ.js.map
164
+ //# sourceMappingURL=chunk-MR7ZEGOF.js.map
@@ -1,45 +1,45 @@
1
+ import {
2
+ buildCachedPrompt,
3
+ computeDynamicContextHash,
4
+ getToolFingerprint
5
+ } from "./chunk-Z753S3X7.js";
1
6
  import {
2
7
  createAssemblyResult,
3
8
  getConversationMessages,
4
9
  getToolRegistryForAgent,
5
10
  processEventsForConversation,
6
11
  runTopLevelAgentLoop
7
- } from "./chunk-MO3GJIT3.js";
8
- import {
9
- buildCachedPrompt,
10
- computeDynamicContextHash,
11
- getToolFingerprint
12
- } from "./chunk-IXFEXEUL.js";
12
+ } from "./chunk-DPRJYQ5U.js";
13
13
  import {
14
14
  getAllInstructions,
15
15
  getEnabledSkillMetadata
16
- } from "./chunk-KQPDU65K.js";
17
- import {
18
- PathAccessDeniedError
19
- } from "./chunk-G5JFKTSR.js";
16
+ } from "./chunk-MGKS2NG2.js";
20
17
  import {
21
18
  TurnMetrics,
22
19
  createChatDoneEvent,
23
20
  createMessageStartEvent
24
- } from "./chunk-AY37NB76.js";
21
+ } from "./chunk-5ZJYEINJ.js";
25
22
  import {
26
23
  buildAgentReminder,
27
24
  buildAgentSmallReminder
28
- } from "./chunk-MRWR3SIT.js";
25
+ } from "./chunk-4Z2ARCY3.js";
26
+ import {
27
+ PathAccessDeniedError
28
+ } from "./chunk-ZLCPNTRT.js";
29
29
  import {
30
30
  getCurrentContextWindowId,
31
31
  getCurrentWindowMessageOptions,
32
32
  getEventStore
33
- } from "./chunk-KNYPBXPW.js";
33
+ } from "./chunk-WPCYFH6X.js";
34
34
  import {
35
35
  buildSnapshotFromSessionState
36
- } from "./chunk-O2PLNJIU.js";
36
+ } from "./chunk-2EYTYXWN.js";
37
37
  import {
38
38
  findAgentById,
39
39
  getRuntimeConfig,
40
40
  loadAllAgentsDefault,
41
41
  resolveDefaultAgentId
42
- } from "./chunk-3LRYZ7R3.js";
42
+ } from "./chunk-FQS7A5M4.js";
43
43
  import {
44
44
  logger
45
45
  } from "./chunk-K44MW7JJ.js";
@@ -49,7 +49,7 @@ import {
49
49
 
50
50
  // src/server/chat/orchestrator.ts
51
51
  async function buildRetryPatterns() {
52
- const { getSetting, SETTINGS_KEYS } = await import("./settings-2WVGUPYV.js");
52
+ const { getSetting, SETTINGS_KEYS } = await import("./settings-FT7HF7ZB.js");
53
53
  const raw = getSetting(SETTINGS_KEYS.RETRY_PATTERNS);
54
54
  if (!raw) {
55
55
  const oldXmlProtection = getSetting("llm.disableXmlProtection");
@@ -79,18 +79,18 @@ function buildGetConversationMessages(sessionId, llmClient, append) {
79
79
  };
80
80
  }
81
81
  function resolveStatsIdentity(options) {
82
- const model = options.llmClient.getModel();
82
+ const clientModel = options.llmClient.getModel();
83
83
  if (options.statsIdentity) {
84
84
  return {
85
85
  ...options.statsIdentity,
86
- model
86
+ model: options.statsIdentity.model ?? clientModel
87
87
  };
88
88
  }
89
89
  return {
90
- providerId: `provider:${model}`,
90
+ providerId: `provider:${clientModel}`,
91
91
  providerName: "Unknown Provider",
92
92
  backend: "unknown",
93
- model
93
+ model: clientModel
94
94
  };
95
95
  }
96
96
  async function runChatTurn(options) {
@@ -224,9 +224,10 @@ function injectAgentReminder(sessionId, agentDef) {
224
224
  });
225
225
  }
226
226
  async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
227
- const statsIdentity = resolveStatsIdentity(options);
228
227
  const allAgents = await loadAllAgentsDefault();
229
228
  const agentDef = findAgentById(agentId, allAgents) ?? findAgentById(resolveDefaultAgentId(), allAgents);
229
+ const agentLlmClient = options.sessionManager.createClientForAgent(agentId, options.llmClient);
230
+ const statsIdentity = resolveStatsIdentity({ ...options, llmClient: agentLlmClient });
230
231
  if (!options.warmup) {
231
232
  injectAgentReminder(options.sessionId, agentDef);
232
233
  }
@@ -244,8 +245,9 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
244
245
  ...await buildRetryPatterns(),
245
246
  sessionManager: options.sessionManager,
246
247
  sessionId: options.sessionId,
247
- llmClient: options.llmClient,
248
+ llmClient: agentLlmClient,
248
249
  statsIdentity,
250
+ providerManager: options.sessionManager.getProviderManager(),
249
251
  signal: options.signal,
250
252
  onMessage: options.onMessage,
251
253
  assembleRequest: async (input) => {
@@ -281,7 +283,7 @@ async function runAgentTurn(options, turnMetrics, agentId, append, callbacks) {
281
283
  });
282
284
  },
283
285
  getToolRegistry: () => getToolRegistryForAgent(agentDef, options.sessionId),
284
- getConversationMessages: buildGetConversationMessages(options.sessionId, options.llmClient, append),
286
+ getConversationMessages: buildGetConversationMessages(options.sessionId, agentLlmClient, append),
285
287
  injectAgentReminder: () => injectAgentReminder(options.sessionId, agentDef),
286
288
  ...options.initialCompacting ? { initialCompacting: true } : {},
287
289
  ...callbacks?.injectKickoff ? { injectKickoff: callbacks.injectKickoff } : {},
@@ -309,4 +311,4 @@ export {
309
311
  runChatTurn,
310
312
  runAgentTurn
311
313
  };
312
- //# sourceMappingURL=chunk-CFTT46KH.js.map
314
+ //# sourceMappingURL=chunk-QL2G5UWE.js.map