openfox 2.0.134 → 2.0.135

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 (43) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/CHANGELOG.md +18 -0
  3. package/dist/{chat-handler-YCZE2XEJ.js → chat-handler-WGDFMOOD.js} +9 -9
  4. package/dist/{chunk-YOPXAI2W.js → chunk-4R5GV7RW.js} +6 -6
  5. package/dist/{chunk-7HGBJFIJ.js → chunk-5H5NRWHA.js} +4 -4
  6. package/dist/{chunk-5IXCCMFU.js → chunk-BIZFY3QP.js} +197 -68
  7. package/dist/{chunk-J5HOUEPE.js → chunk-ESZQTFQP.js} +9 -9
  8. package/dist/{chunk-ZTBKMVV6.js → chunk-F2MOHHXB.js} +14 -1
  9. package/dist/{chunk-M4J2L4VH.js → chunk-GP3CLMPQ.js} +10 -10
  10. package/dist/{chunk-YLVOU7T7.js → chunk-I5ODJKYM.js} +2 -2
  11. package/dist/{chunk-MRE4OYKI.js → chunk-IAT2LBIX.js} +3 -3
  12. package/dist/{chunk-FAQDLL2X.js → chunk-NFEZATSN.js} +3 -3
  13. package/dist/{chunk-CSYOWFPU.js → chunk-QZOV4OVN.js} +26 -2
  14. package/dist/{chunk-QDARWVQ2.js → chunk-S67WIWUG.js} +2 -2
  15. package/dist/{chunk-BZND27IB.js → chunk-UKIUQAQZ.js} +2 -2
  16. package/dist/{chunk-QICVOQNX.js → chunk-VHLD6PCZ.js} +5 -5
  17. package/dist/chunk-WY3PWHWY.js +7 -0
  18. package/dist/cli/dev.js +1 -1
  19. package/dist/cli/index.js +1 -1
  20. package/dist/{compactor-PD6DQ4NY.js → compactor-454UEIEX.js} +4 -4
  21. package/dist/{dynamic-context-WKEXQCTK.js → dynamic-context-LKC6JYLQ.js} +4 -4
  22. package/dist/{events-3WSNI7XC.js → events-335XAKFK.js} +3 -3
  23. package/dist/export-import-3WMRLO4A.js +137 -0
  24. package/dist/{launch-FJ65HRV4.js → launch-GJ7EHQRI.js} +9 -9
  25. package/dist/{orchestrator-OT66EDXO.js → orchestrator-JGJWTRO5.js} +8 -8
  26. package/dist/package.json +1 -1
  27. package/dist/{path-security-5CFMMULR.js → path-security-4LROI7F4.js} +4 -4
  28. package/dist/{processor-CHMHMMIE.js → processor-MSQP63ML.js} +8 -8
  29. package/dist/{serve-HSDVY37K.js → serve-CW5C3CBZ.js} +14 -14
  30. package/dist/server/index.d.ts +15 -0
  31. package/dist/server/index.js +13 -13
  32. package/dist/{server-3UVLECD5.js → server-ZHEB7XS2.js} +12 -12
  33. package/dist/{session-overrides-Y5B4XQPU.js → session-overrides-LYW5PJ3R.js} +3 -3
  34. package/dist/{sessions-IGINPPBP.js → sessions-AOK3AGHY.js} +4 -2
  35. package/dist/{tools-WWIWD3O7.js → tools-E63MOJBO.js} +6 -6
  36. package/dist/{update-Q6SH7UP2.js → update-XVXNSSDK.js} +2 -2
  37. package/dist/web/assets/{index-Y300llHY.css → index-Bg_Z8i3F.css} +1 -1
  38. package/dist/web/assets/index-wTFCxQAw.js +313 -0
  39. package/dist/web/index.html +2 -2
  40. package/dist/web/sw.js +1 -1
  41. package/package.json +1 -1
  42. package/dist/chunk-QTLYD2FF.js +0 -7
  43. package/dist/web/assets/index-C48qmBAI.js +0 -313
@@ -2,16 +2,16 @@ import {
2
2
  generateSessionNameForSession,
3
3
  getSessionMessageCount,
4
4
  needsNameGeneration
5
- } from "./chunk-FAQDLL2X.js";
5
+ } from "./chunk-NFEZATSN.js";
6
6
  import {
7
7
  launchWorkflowRun
8
- } from "./chunk-7HGBJFIJ.js";
8
+ } from "./chunk-5H5NRWHA.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-YOPXAI2W.js";
11
+ } from "./chunk-4R5GV7RW.js";
12
12
  import {
13
13
  devServerManager
14
- } from "./chunk-J5HOUEPE.js";
14
+ } from "./chunk-ESZQTFQP.js";
15
15
  import {
16
16
  gitSpawnEnv
17
17
  } from "./chunk-J7GAZGZT.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-OZWHRBDY.js";
21
21
  import {
22
22
  appendCompactionPrompt
23
- } from "./chunk-BZND27IB.js";
23
+ } from "./chunk-UKIUQAQZ.js";
24
24
  import {
25
25
  hasRecentLLMFailure,
26
26
  interruptLLMRetryWait
@@ -35,7 +35,7 @@ import {
35
35
  applyDynamicContext,
36
36
  computeSessionHash,
37
37
  computeUnifiedDiff
38
- } from "./chunk-QICVOQNX.js";
38
+ } from "./chunk-VHLD6PCZ.js";
39
39
  import {
40
40
  getPendingQuestionsForSession,
41
41
  provideAnswer
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  combineEventsWithSnapshot,
45
45
  getEventStore
46
- } from "./chunk-CSYOWFPU.js";
46
+ } from "./chunk-QZOV4OVN.js";
47
47
  import {
48
48
  buildMessagesFromStoredEvents,
49
49
  foldPendingConfirmations
@@ -1344,7 +1344,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1344
1344
  }
1345
1345
  const session = sessionManager.requireSession(sessionId);
1346
1346
  try {
1347
- const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-WKEXQCTK.js");
1347
+ const { buildCachedPrompt, computePreviewToolDiff } = await import("./dynamic-context-LKC6JYLQ.js");
1348
1348
  const allAgents = await import("./registry-BEIR7Y5G.js");
1349
1349
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
1350
1350
  const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
@@ -1356,7 +1356,7 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
1356
1356
  const oldCached = sessionManager.getCachedPrompt(sessionId);
1357
1357
  const oldPrompt = oldCached?.systemPrompt;
1358
1358
  const diff = oldPrompt ? computeUnifiedDiff(oldPrompt, newPrompt) : [];
1359
- const { getToolRegistryForAgent } = await import("./tools-WWIWD3O7.js");
1359
+ const { getToolRegistryForAgent } = await import("./tools-E63MOJBO.js");
1360
1360
  const unfilteredTools = getToolRegistryForAgent(agentDef).definitions;
1361
1361
  const toolDiff = computePreviewToolDiff(oldCached?.tools, unfilteredTools, newTools);
1362
1362
  send({
@@ -1729,4 +1729,4 @@ export {
1729
1729
  signalMcpReady,
1730
1730
  createWebSocketServer
1731
1731
  };
1732
- //# sourceMappingURL=chunk-M4J2L4VH.js.map
1732
+ //# sourceMappingURL=chunk-GP3CLMPQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getEventStore
3
- } from "./chunk-CSYOWFPU.js";
3
+ } from "./chunk-QZOV4OVN.js";
4
4
  import {
5
5
  createChatPathConfirmationMessage
6
6
  } from "./chunk-AATMPL7S.js";
@@ -782,4 +782,4 @@ export {
782
782
  getConfirmationSessionId,
783
783
  getPendingConfirmationsBySession
784
784
  };
785
- //# sourceMappingURL=chunk-YLVOU7T7.js.map
785
+ //# sourceMappingURL=chunk-I5ODJKYM.js.map
@@ -252,7 +252,7 @@ async function runCli(options) {
252
252
  break;
253
253
  }
254
254
  case "update": {
255
- const { runUpdate } = await import("./update-Q6SH7UP2.js");
255
+ const { runUpdate } = await import("./update-XVXNSSDK.js");
256
256
  const code = await runUpdate();
257
257
  if (code !== 0) {
258
258
  process.exit(code);
@@ -265,7 +265,7 @@ async function runCli(options) {
265
265
  if (!configExists) {
266
266
  await runNetworkSetup(mode);
267
267
  }
268
- const { runServe } = await import("./serve-HSDVY37K.js");
268
+ const { runServe } = await import("./serve-CW5C3CBZ.js");
269
269
  const serveOptions = { mode };
270
270
  if (values.port) serveOptions.port = parseInt(values.port);
271
271
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -277,4 +277,4 @@ async function runCli(options) {
277
277
  export {
278
278
  runCli
279
279
  };
280
- //# sourceMappingURL=chunk-MRE4OYKI.js.map
280
+ //# sourceMappingURL=chunk-IAT2LBIX.js.map
@@ -4,14 +4,14 @@ import {
4
4
  import {
5
5
  combineEventsWithSnapshot,
6
6
  getEventStore
7
- } from "./chunk-CSYOWFPU.js";
7
+ } from "./chunk-QZOV4OVN.js";
8
8
  import {
9
9
  buildMessagesFromStoredEvents,
10
10
  foldPendingConfirmations
11
11
  } from "./chunk-MEEUXRFL.js";
12
12
  import {
13
13
  updateSessionMetadata
14
- } from "./chunk-ZTBKMVV6.js";
14
+ } from "./chunk-F2MOHHXB.js";
15
15
  import {
16
16
  getRuntimeConfig
17
17
  } from "./chunk-ORCQ3EXQ.js";
@@ -216,4 +216,4 @@ export {
216
216
  needsNameGeneration,
217
217
  generateSessionNameForSession
218
218
  };
219
- //# sourceMappingURL=chunk-FAQDLL2X.js.map
219
+ //# sourceMappingURL=chunk-NFEZATSN.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-MEEUXRFL.js";
10
10
  import {
11
11
  updateSessionMessageCount
12
- } from "./chunk-ZTBKMVV6.js";
12
+ } from "./chunk-F2MOHHXB.js";
13
13
  import {
14
14
  getRuntimeConfig
15
15
  } from "./chunk-ORCQ3EXQ.js";
@@ -211,6 +211,30 @@ var EventStore = class _EventStore {
211
211
  }
212
212
  return results;
213
213
  }
214
+ /**
215
+ * Import events verbatim (used by session import).
216
+ * Preserves original seq and timestamp; rewrites the sessionId.
217
+ * Intended for a fresh session (no existing events for the target id).
218
+ */
219
+ importEvents(sessionId, events) {
220
+ if (events.length === 0) return [];
221
+ const insert = this.db.prepare(
222
+ `INSERT INTO events (session_id, seq, timestamp, event_type, payload)
223
+ VALUES (?, ?, ?, ?, ?)`
224
+ );
225
+ const transaction = this.db.transaction(() => {
226
+ for (const event of events) {
227
+ insert.run(sessionId, event.seq, event.timestamp, event.type, JSON.stringify(event.data));
228
+ }
229
+ });
230
+ transaction();
231
+ this.invalidateSessionCache(sessionId);
232
+ const stored = events.map((event) => ({ ...event, sessionId }));
233
+ for (const event of stored) {
234
+ this.notifySubscribers(sessionId, event);
235
+ }
236
+ return stored;
237
+ }
214
238
  getNextSeq(sessionId) {
215
239
  const row = this.db.prepare(`SELECT MAX(seq) as max_seq FROM events WHERE session_id = ?`).get(sessionId);
216
240
  return (row?.max_seq ?? 0) + 1;
@@ -1465,4 +1489,4 @@ export {
1465
1489
  truncateSessionMessages,
1466
1490
  getRecentUserPromptsForSession
1467
1491
  };
1468
- //# sourceMappingURL=chunk-CSYOWFPU.js.map
1492
+ //# sourceMappingURL=chunk-QZOV4OVN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  updateSessionMcpDisabledServers
3
- } from "./chunk-ZTBKMVV6.js";
3
+ } from "./chunk-F2MOHHXB.js";
4
4
  import {
5
5
  getDatabase
6
6
  } from "./chunk-JU757HVI.js";
@@ -62,4 +62,4 @@ export {
62
62
  clearSessionOverrides,
63
63
  getAllSessionOverrides
64
64
  };
65
- //# sourceMappingURL=chunk-QDARWVQ2.js.map
65
+ //# sourceMappingURL=chunk-S67WIWUG.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-7QMWYNVF.js";
7
7
  import {
8
8
  getCurrentWindowMessageOptions
9
- } from "./chunk-CSYOWFPU.js";
9
+ } from "./chunk-QZOV4OVN.js";
10
10
 
11
11
  // src/server/context/compactor.ts
12
12
  function appendCompactionPrompt(sessionId, append) {
@@ -36,4 +36,4 @@ export {
36
36
  COMPACTION_MAX_RATIO,
37
37
  shouldCompact
38
38
  };
39
- //# sourceMappingURL=chunk-BZND27IB.js.map
39
+ //# sourceMappingURL=chunk-UKIUQAQZ.js.map
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  getCurrentContextWindowId,
10
10
  getEventStore
11
- } from "./chunk-CSYOWFPU.js";
11
+ } from "./chunk-QZOV4OVN.js";
12
12
  import {
13
13
  findAgentById,
14
14
  getRuntimeConfig,
@@ -223,7 +223,7 @@ async function injectDriftReminders(sessionManager, sessionId, agentDef, options
223
223
  if (!cached) {
224
224
  return { injectedToolReminder: false, injectedPromptReminder: false };
225
225
  }
226
- const { getToolRegistryForAgent } = await import("./tools-WWIWD3O7.js");
226
+ const { getToolRegistryForAgent } = await import("./tools-E63MOJBO.js");
227
227
  const liveTools = getToolRegistryForAgent(agentDef, sessionId).definitions;
228
228
  let injectedToolReminder = false;
229
229
  let injectedPromptReminder = false;
@@ -329,7 +329,7 @@ function resolveAgentDef(sessionManager, sessionId) {
329
329
  }
330
330
  async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
331
331
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
332
- const { getToolRegistryForAgent } = await import("./tools-WWIWD3O7.js");
332
+ const { getToolRegistryForAgent } = await import("./tools-E63MOJBO.js");
333
333
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
334
334
  const toolFingerprint = getToolFingerprint(tools);
335
335
  const allAgents = await loadAllAgentsDefault(sessionManager.getProjectWorkdir(sessionId));
@@ -349,7 +349,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName)
349
349
  async function computeSessionHash(sessionManager, sessionId, modelName) {
350
350
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
351
351
  const agentDef = await resolveAgentDef(sessionManager, sessionId);
352
- const { getToolRegistryForAgent } = await import("./tools-WWIWD3O7.js");
352
+ const { getToolRegistryForAgent } = await import("./tools-E63MOJBO.js");
353
353
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
354
354
  const toolFingerprint = getToolFingerprint(tools);
355
355
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
@@ -390,4 +390,4 @@ export {
390
390
  computeSessionHash,
391
391
  applyDynamicContext
392
392
  };
393
- //# sourceMappingURL=chunk-QICVOQNX.js.map
393
+ //# sourceMappingURL=chunk-VHLD6PCZ.js.map
@@ -0,0 +1,7 @@
1
+ // src/constants.ts
2
+ var VERSION = "2.0.135";
3
+
4
+ export {
5
+ VERSION
6
+ };
7
+ //# sourceMappingURL=chunk-WY3PWHWY.js.map
package/dist/cli/dev.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-MRE4OYKI.js";
4
+ } from "../chunk-IAT2LBIX.js";
5
5
  import "../chunk-AGXJ5O63.js";
6
6
  import "../chunk-2OMGR7LN.js";
7
7
  import {
package/dist/cli/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCli
4
- } from "../chunk-MRE4OYKI.js";
4
+ } from "../chunk-IAT2LBIX.js";
5
5
  import "../chunk-AGXJ5O63.js";
6
6
  import "../chunk-2OMGR7LN.js";
7
7
  import {
@@ -3,12 +3,12 @@ import {
3
3
  COMPACTION_MAX_RATIO,
4
4
  appendCompactionPrompt,
5
5
  shouldCompact
6
- } from "./chunk-BZND27IB.js";
6
+ } from "./chunk-UKIUQAQZ.js";
7
7
  import "./chunk-7ET46SNE.js";
8
8
  import "./chunk-7QMWYNVF.js";
9
- import "./chunk-CSYOWFPU.js";
9
+ import "./chunk-QZOV4OVN.js";
10
10
  import "./chunk-MEEUXRFL.js";
11
- import "./chunk-ZTBKMVV6.js";
11
+ import "./chunk-F2MOHHXB.js";
12
12
  import "./chunk-ORCQ3EXQ.js";
13
13
  import "./chunk-OSXPQSLW.js";
14
14
  import "./chunk-LCLH6ZUL.js";
@@ -29,4 +29,4 @@ export {
29
29
  appendCompactionPrompt,
30
30
  shouldCompact
31
31
  };
32
- //# sourceMappingURL=compactor-PD6DQ4NY.js.map
32
+ //# sourceMappingURL=compactor-454UEIEX.js.map
@@ -15,12 +15,12 @@ import {
15
15
  injectContextDriftRemindersForSessions,
16
16
  renderSystemPromptDiff,
17
17
  renderToolChangeReminder
18
- } from "./chunk-QICVOQNX.js";
18
+ } from "./chunk-VHLD6PCZ.js";
19
19
  import "./chunk-DWA4IE65.js";
20
20
  import "./chunk-7QMWYNVF.js";
21
- import "./chunk-CSYOWFPU.js";
21
+ import "./chunk-QZOV4OVN.js";
22
22
  import "./chunk-MEEUXRFL.js";
23
- import "./chunk-ZTBKMVV6.js";
23
+ import "./chunk-F2MOHHXB.js";
24
24
  import "./chunk-ORCQ3EXQ.js";
25
25
  import "./chunk-OSXPQSLW.js";
26
26
  import "./chunk-LCLH6ZUL.js";
@@ -49,4 +49,4 @@ export {
49
49
  renderSystemPromptDiff,
50
50
  renderToolChangeReminder
51
51
  };
52
- //# sourceMappingURL=dynamic-context-WKEXQCTK.js.map
52
+ //# sourceMappingURL=dynamic-context-LKC6JYLQ.js.map
@@ -40,7 +40,7 @@ import {
40
40
  isStoredEvent,
41
41
  isTurnEvent,
42
42
  truncateSessionMessages
43
- } from "./chunk-CSYOWFPU.js";
43
+ } from "./chunk-QZOV4OVN.js";
44
44
  import {
45
45
  buildContextMessagesFromEventHistory,
46
46
  buildContextMessagesFromMessages,
@@ -58,7 +58,7 @@ import {
58
58
  foldTurnEventsToSnapshotMessages,
59
59
  getMessagesForWindow
60
60
  } from "./chunk-MEEUXRFL.js";
61
- import "./chunk-ZTBKMVV6.js";
61
+ import "./chunk-F2MOHHXB.js";
62
62
  import "./chunk-ORCQ3EXQ.js";
63
63
  import "./chunk-OSXPQSLW.js";
64
64
  import "./chunk-LCLH6ZUL.js";
@@ -126,4 +126,4 @@ export {
126
126
  isTurnEvent,
127
127
  truncateSessionMessages
128
128
  };
129
- //# sourceMappingURL=events-3WSNI7XC.js.map
129
+ //# sourceMappingURL=events-335XAKFK.js.map
@@ -0,0 +1,137 @@
1
+ import {
2
+ getEventStore,
3
+ getSessionState
4
+ } from "./chunk-QZOV4OVN.js";
5
+ import "./chunk-MEEUXRFL.js";
6
+ import "./chunk-F2MOHHXB.js";
7
+ import "./chunk-ORCQ3EXQ.js";
8
+ import "./chunk-OSXPQSLW.js";
9
+ import "./chunk-LCLH6ZUL.js";
10
+ import {
11
+ VERSION
12
+ } from "./chunk-WY3PWHWY.js";
13
+ import {
14
+ getProject
15
+ } from "./chunk-DPFET73G.js";
16
+ import "./chunk-CTWZPN7G.js";
17
+ import "./chunk-JU757HVI.js";
18
+ import "./chunk-K44MW7JJ.js";
19
+ import "./chunk-CQGTEGKL.js";
20
+ import "./chunk-YLJ4XMA6.js";
21
+
22
+ // src/server/session/export-import.ts
23
+ import { z } from "zod";
24
+ var SESSION_EXPORT_FORMAT = "openfox-session";
25
+ var SESSION_EXPORT_VERSION = 1;
26
+ var IMPORTED_SESSION_REMINDER = "This session was imported from another environment. The latest system reminders are authoritative.";
27
+ var cachedLayoutSchema = z.object({
28
+ systemPrompt: z.string(),
29
+ tools: z.array(
30
+ z.object({
31
+ type: z.literal("function"),
32
+ function: z.object({
33
+ name: z.string(),
34
+ description: z.string(),
35
+ parameters: z.record(z.string(), z.unknown())
36
+ })
37
+ })
38
+ ),
39
+ hash: z.string(),
40
+ promptHash: z.string().optional()
41
+ });
42
+ var sessionExportSchema = z.object({
43
+ format: z.literal(SESSION_EXPORT_FORMAT),
44
+ version: z.number().int(),
45
+ exportedAt: z.number(),
46
+ source: z.object({
47
+ openfoxVersion: z.string(),
48
+ projectName: z.string(),
49
+ workdir: z.string(),
50
+ mode: z.string(),
51
+ providerId: z.string().nullable(),
52
+ providerModel: z.string().nullable(),
53
+ effectiveModel: z.string(),
54
+ providerBackend: z.string().optional(),
55
+ providerUrl: z.string().optional()
56
+ }),
57
+ session: z.object({
58
+ title: z.string().optional(),
59
+ providerId: z.string().nullable().optional(),
60
+ providerModel: z.string().nullable().optional(),
61
+ mode: z.string(),
62
+ phase: z.string(),
63
+ createdAt: z.string().optional(),
64
+ updatedAt: z.string().optional(),
65
+ criteria: z.array(z.record(z.string(), z.unknown())).optional(),
66
+ todos: z.array(z.record(z.string(), z.unknown())).optional(),
67
+ metadataEntries: z.record(z.string(), z.array(z.record(z.string(), z.unknown()))).optional()
68
+ }),
69
+ cachedLayout: cachedLayoutSchema.optional(),
70
+ messages: z.array(z.record(z.string(), z.unknown())).optional(),
71
+ events: z.array(
72
+ z.object({
73
+ seq: z.number().int().positive(),
74
+ timestamp: z.number(),
75
+ sessionId: z.string(),
76
+ type: z.string(),
77
+ data: z.unknown()
78
+ })
79
+ )
80
+ });
81
+ function parseSessionExport(payload) {
82
+ return sessionExportSchema.parse(payload);
83
+ }
84
+ function buildSessionExport(sessionManager, sessionId) {
85
+ const session = sessionManager.requireSession(sessionId);
86
+ const project = getProject(session.projectId);
87
+ const state = getSessionState(sessionId);
88
+ const cached = sessionManager.getCachedPrompt(sessionId);
89
+ const effective = sessionManager.resolveEffectiveProviderModel(sessionId);
90
+ const sourceProvider = session.providerId ? sessionManager.getProviderManager().getProviders().find((p) => p.id === session.providerId) : void 0;
91
+ return {
92
+ format: SESSION_EXPORT_FORMAT,
93
+ version: SESSION_EXPORT_VERSION,
94
+ exportedAt: Date.now(),
95
+ source: {
96
+ openfoxVersion: VERSION,
97
+ projectName: project?.name ?? "unknown",
98
+ workdir: session.workdir,
99
+ mode: session.mode,
100
+ providerId: session.providerId ?? null,
101
+ providerModel: session.providerModel ?? null,
102
+ effectiveModel: effective.model ?? "",
103
+ ...sourceProvider?.backend ? { providerBackend: sourceProvider.backend } : {},
104
+ ...sourceProvider?.url ? { providerUrl: sourceProvider.url } : {}
105
+ },
106
+ session: {
107
+ ...session.metadata.title ? { title: session.metadata.title } : {},
108
+ ...session.providerId ? { providerId: session.providerId } : {},
109
+ ...session.providerModel ? { providerModel: session.providerModel } : {},
110
+ mode: session.mode,
111
+ phase: session.phase,
112
+ createdAt: session.createdAt,
113
+ updatedAt: session.updatedAt,
114
+ criteria: state?.criteria ?? [],
115
+ todos: state?.todos ?? [],
116
+ metadataEntries: state?.metadataEntries ?? {}
117
+ },
118
+ ...cached ? {
119
+ cachedLayout: {
120
+ systemPrompt: cached.systemPrompt,
121
+ tools: cached.tools,
122
+ hash: cached.hash,
123
+ ...cached.promptHash ? { promptHash: cached.promptHash } : {}
124
+ }
125
+ } : {},
126
+ messages: sessionManager.getCurrentWindowMessages(sessionId),
127
+ events: getEventStore().getEvents(sessionId)
128
+ };
129
+ }
130
+ export {
131
+ IMPORTED_SESSION_REMINDER,
132
+ SESSION_EXPORT_FORMAT,
133
+ SESSION_EXPORT_VERSION,
134
+ buildSessionExport,
135
+ parseSessionExport
136
+ };
137
+ //# sourceMappingURL=export-import-3WMRLO4A.js.map
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  abortRunnerRun,
3
3
  launchWorkflowRun
4
- } from "./chunk-7HGBJFIJ.js";
5
- import "./chunk-YOPXAI2W.js";
6
- import "./chunk-J5HOUEPE.js";
4
+ } from "./chunk-5H5NRWHA.js";
5
+ import "./chunk-4R5GV7RW.js";
6
+ import "./chunk-ESZQTFQP.js";
7
7
  import "./chunk-XE6UC5Z3.js";
8
8
  import "./chunk-J7GAZGZT.js";
9
9
  import "./chunk-OZWHRBDY.js";
10
- import "./chunk-QDARWVQ2.js";
10
+ import "./chunk-S67WIWUG.js";
11
11
  import "./chunk-7ET46SNE.js";
12
12
  import "./chunk-LW6MMSTD.js";
13
13
  import "./chunk-5UMXFLET.js";
14
14
  import "./chunk-I72ACQ6R.js";
15
15
  import "./chunk-JE7LW7Y6.js";
16
16
  import "./chunk-OAN4BXEW.js";
17
- import "./chunk-QICVOQNX.js";
17
+ import "./chunk-VHLD6PCZ.js";
18
18
  import "./chunk-DWA4IE65.js";
19
19
  import "./chunk-7QMWYNVF.js";
20
20
  import "./chunk-JURM3RPZ.js";
21
- import "./chunk-YLVOU7T7.js";
22
- import "./chunk-CSYOWFPU.js";
21
+ import "./chunk-I5ODJKYM.js";
22
+ import "./chunk-QZOV4OVN.js";
23
23
  import "./chunk-MEEUXRFL.js";
24
- import "./chunk-ZTBKMVV6.js";
24
+ import "./chunk-F2MOHHXB.js";
25
25
  import "./chunk-ORCQ3EXQ.js";
26
26
  import "./chunk-OSXPQSLW.js";
27
27
  import "./chunk-AATMPL7S.js";
@@ -51,4 +51,4 @@ export {
51
51
  abortRunnerRun,
52
52
  launchWorkflowRun
53
53
  };
54
- //# sourceMappingURL=launch-FJ65HRV4.js.map
54
+ //# sourceMappingURL=launch-GJ7EHQRI.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  runAgentTurn,
3
3
  runChatTurn
4
- } from "./chunk-YOPXAI2W.js";
5
- import "./chunk-J5HOUEPE.js";
4
+ } from "./chunk-4R5GV7RW.js";
5
+ import "./chunk-ESZQTFQP.js";
6
6
  import "./chunk-XE6UC5Z3.js";
7
7
  import "./chunk-J7GAZGZT.js";
8
8
  import "./chunk-OZWHRBDY.js";
9
- import "./chunk-QDARWVQ2.js";
9
+ import "./chunk-S67WIWUG.js";
10
10
  import {
11
11
  TurnMetrics,
12
12
  createChatDoneEvent,
@@ -20,14 +20,14 @@ import "./chunk-5UMXFLET.js";
20
20
  import "./chunk-I72ACQ6R.js";
21
21
  import "./chunk-JE7LW7Y6.js";
22
22
  import "./chunk-OAN4BXEW.js";
23
- import "./chunk-QICVOQNX.js";
23
+ import "./chunk-VHLD6PCZ.js";
24
24
  import "./chunk-DWA4IE65.js";
25
25
  import "./chunk-7QMWYNVF.js";
26
26
  import "./chunk-JURM3RPZ.js";
27
- import "./chunk-YLVOU7T7.js";
28
- import "./chunk-CSYOWFPU.js";
27
+ import "./chunk-I5ODJKYM.js";
28
+ import "./chunk-QZOV4OVN.js";
29
29
  import "./chunk-MEEUXRFL.js";
30
- import "./chunk-ZTBKMVV6.js";
30
+ import "./chunk-F2MOHHXB.js";
31
31
  import "./chunk-ORCQ3EXQ.js";
32
32
  import "./chunk-OSXPQSLW.js";
33
33
  import "./chunk-AATMPL7S.js";
@@ -62,4 +62,4 @@ export {
62
62
  runAgentTurn,
63
63
  runChatTurn
64
64
  };
65
- //# sourceMappingURL=orchestrator-OT66EDXO.js.map
65
+ //# sourceMappingURL=orchestrator-JGJWTRO5.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "2.0.134",
3
+ "version": "2.0.135",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,10 +20,10 @@ import {
20
20
  registerPathConfirmation,
21
21
  requestPathAccess,
22
22
  resolveRelativeTraversals
23
- } from "./chunk-YLVOU7T7.js";
24
- import "./chunk-CSYOWFPU.js";
23
+ } from "./chunk-I5ODJKYM.js";
24
+ import "./chunk-QZOV4OVN.js";
25
25
  import "./chunk-MEEUXRFL.js";
26
- import "./chunk-ZTBKMVV6.js";
26
+ import "./chunk-F2MOHHXB.js";
27
27
  import "./chunk-ORCQ3EXQ.js";
28
28
  import "./chunk-OSXPQSLW.js";
29
29
  import "./chunk-AATMPL7S.js";
@@ -59,4 +59,4 @@ export {
59
59
  requestPathAccess,
60
60
  resolveRelativeTraversals
61
61
  };
62
- //# sourceMappingURL=path-security-5CFMMULR.js.map
62
+ //# sourceMappingURL=path-security-4LROI7F4.js.map
@@ -2,12 +2,12 @@ import {
2
2
  buildRunChatTurnParams,
3
3
  finalizeTurnCompletion,
4
4
  generateSessionNameForSession
5
- } from "./chunk-FAQDLL2X.js";
6
- import "./chunk-J5HOUEPE.js";
5
+ } from "./chunk-NFEZATSN.js";
6
+ import "./chunk-ESZQTFQP.js";
7
7
  import "./chunk-XE6UC5Z3.js";
8
8
  import "./chunk-J7GAZGZT.js";
9
9
  import "./chunk-OZWHRBDY.js";
10
- import "./chunk-QDARWVQ2.js";
10
+ import "./chunk-S67WIWUG.js";
11
11
  import "./chunk-7ET46SNE.js";
12
12
  import "./chunk-LW6MMSTD.js";
13
13
  import "./chunk-5UMXFLET.js";
@@ -17,12 +17,12 @@ import "./chunk-OAN4BXEW.js";
17
17
  import "./chunk-DWA4IE65.js";
18
18
  import "./chunk-7QMWYNVF.js";
19
19
  import "./chunk-JURM3RPZ.js";
20
- import "./chunk-YLVOU7T7.js";
20
+ import "./chunk-I5ODJKYM.js";
21
21
  import {
22
22
  getEventStore
23
- } from "./chunk-CSYOWFPU.js";
23
+ } from "./chunk-QZOV4OVN.js";
24
24
  import "./chunk-MEEUXRFL.js";
25
- import "./chunk-ZTBKMVV6.js";
25
+ import "./chunk-F2MOHHXB.js";
26
26
  import "./chunk-ORCQ3EXQ.js";
27
27
  import "./chunk-OSXPQSLW.js";
28
28
  import {
@@ -223,7 +223,7 @@ var QueueProcessor = class {
223
223
  model: sessionClient.getModel(),
224
224
  ...sessionEffort ? { reasoningEffort: sessionEffort } : {}
225
225
  };
226
- const { runChatTurn } = await import("./orchestrator-OT66EDXO.js");
226
+ const { runChatTurn } = await import("./orchestrator-JGJWTRO5.js");
227
227
  const runChatTurnParams = buildRunChatTurnParams({
228
228
  sessionManager,
229
229
  sessionId,
@@ -272,4 +272,4 @@ var QueueProcessor = class {
272
272
  export {
273
273
  QueueProcessor
274
274
  };
275
- //# sourceMappingURL=processor-CHMHMMIE.js.map
275
+ //# sourceMappingURL=processor-MSQP63ML.js.map