openfox 1.6.84 → 1.6.85

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 (31) hide show
  1. package/dist/{auto-compaction-JGRRUO2G.js → auto-compaction-LI6J3L5Y.js} +6 -6
  2. package/dist/{chat-handler-OH5GPGLH.js → chat-handler-2J457X35.js} +9 -9
  3. package/dist/{chunk-W7BC4WCC.js → chunk-2XCN5AUU.js} +28 -27
  4. package/dist/{chunk-6THJULLK.js → chunk-67LWZEDE.js} +15 -5
  5. package/dist/{chunk-6GH2PJJC.js → chunk-7FVEX6UG.js} +2 -2
  6. package/dist/{chunk-M7INHE2B.js → chunk-EBPKXVOF.js} +2 -2
  7. package/dist/{chunk-2IIQ7EZV.js → chunk-FBQWGH6N.js} +5 -5
  8. package/dist/{chunk-KIOUKC3Z.js → chunk-HEQ3V5SW.js} +5 -1
  9. package/dist/{chunk-QIMHUO3E.js → chunk-MNRVSEGN.js} +3 -3
  10. package/dist/{chunk-OXI26S7U.js → chunk-PI7L2SEU.js} +2 -2
  11. package/dist/{chunk-CMQCO27Y.js → chunk-X4VMSNLI.js} +7 -2
  12. package/dist/cli/dev.js +1 -1
  13. package/dist/cli/index.js +1 -1
  14. package/dist/{events-H563T5M5.js → events-BKR4RUU3.js} +3 -3
  15. package/dist/{orchestrator-NSDEXVSR.js → orchestrator-Y2YGSF4I.js} +7 -7
  16. package/dist/package.json +1 -1
  17. package/dist/{processor-OHI5QJ6F.js → processor-KULEUD7B.js} +5 -5
  18. package/dist/{project-creator-GPOIXKX4.js → project-creator-Q5P4XA6O.js} +3 -3
  19. package/dist/{projects-XLMSDFTQ.js → projects-3EZINCLA.js} +3 -3
  20. package/dist/{protocol-C_BF6KDE.d.ts → protocol-C9hfluLv.d.ts} +1 -0
  21. package/dist/{serve-IWRMBDPG.js → serve-K5T5YSDU.js} +8 -8
  22. package/dist/server/index.d.ts +1 -1
  23. package/dist/server/index.js +7 -7
  24. package/dist/{settings-TQNQB56H.js → settings-E3KEHN2M.js} +3 -3
  25. package/dist/shared/index.d.ts +2 -2
  26. package/dist/{tools-NBBDVEXF.js → tools-OPJZOAZX.js} +6 -6
  27. package/dist/web/assets/{index-DmpkTC-2.js → index-C0VIA4P8.js} +52 -52
  28. package/dist/web/assets/{index-CA0bz_5H.css → index-sEj9u40w.css} +1 -1
  29. package/dist/web/index.html +2 -2
  30. package/dist/web/sw.js +1 -1
  31. package/package.json +1 -1
@@ -2,15 +2,15 @@ import {
2
2
  maybeAutoCompactContext,
3
3
  performManualContextCompaction,
4
4
  resolveCompactionStatsIdentity
5
- } from "./chunk-2IIQ7EZV.js";
6
- import "./chunk-OXI26S7U.js";
7
- import "./chunk-CMQCO27Y.js";
5
+ } from "./chunk-FBQWGH6N.js";
6
+ import "./chunk-PI7L2SEU.js";
7
+ import "./chunk-X4VMSNLI.js";
8
8
  import "./chunk-DL6ZILAF.js";
9
9
  import "./chunk-PBGOZMVY.js";
10
10
  import "./chunk-VRGRAQDG.js";
11
11
  import "./chunk-YNIAFX24.js";
12
- import "./chunk-6THJULLK.js";
13
- import "./chunk-KIOUKC3Z.js";
12
+ import "./chunk-67LWZEDE.js";
13
+ import "./chunk-HEQ3V5SW.js";
14
14
  import "./chunk-XVWVAWSG.js";
15
15
  import "./chunk-GN7RB4Y4.js";
16
16
  import "./chunk-BJYPTN5S.js";
@@ -24,4 +24,4 @@ export {
24
24
  performManualContextCompaction,
25
25
  resolveCompactionStatsIdentity
26
26
  };
27
- //# sourceMappingURL=auto-compaction-JGRRUO2G.js.map
27
+ //# sourceMappingURL=auto-compaction-LI6J3L5Y.js.map
@@ -5,21 +5,21 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-6GH2PJJC.js";
8
+ } from "./chunk-7FVEX6UG.js";
9
9
  import {
10
10
  runChatTurn
11
- } from "./chunk-QIMHUO3E.js";
12
- import "./chunk-2IIQ7EZV.js";
13
- import "./chunk-OXI26S7U.js";
14
- import "./chunk-CMQCO27Y.js";
11
+ } from "./chunk-MNRVSEGN.js";
12
+ import "./chunk-FBQWGH6N.js";
13
+ import "./chunk-PI7L2SEU.js";
14
+ import "./chunk-X4VMSNLI.js";
15
15
  import "./chunk-DL6ZILAF.js";
16
16
  import "./chunk-PBGOZMVY.js";
17
17
  import "./chunk-VRGRAQDG.js";
18
18
  import "./chunk-YNIAFX24.js";
19
19
  import {
20
20
  getEventStore
21
- } from "./chunk-6THJULLK.js";
22
- import "./chunk-KIOUKC3Z.js";
21
+ } from "./chunk-67LWZEDE.js";
22
+ import "./chunk-HEQ3V5SW.js";
23
23
  import "./chunk-XVWVAWSG.js";
24
24
  import {
25
25
  createChatMessageMessage,
@@ -61,7 +61,7 @@ async function startChatSession(sessionId, content, deps, options) {
61
61
  sessionManager.setRunning(sessionId, true);
62
62
  broadcastForSession(sessionId, createSessionRunningMessage(true));
63
63
  try {
64
- const { maybeAutoCompactContext } = await import("./auto-compaction-JGRRUO2G.js");
64
+ const { maybeAutoCompactContext } = await import("./auto-compaction-LI6J3L5Y.js");
65
65
  await maybeAutoCompactContext({
66
66
  sessionManager,
67
67
  sessionId,
@@ -175,4 +175,4 @@ export {
175
175
  startChatSession,
176
176
  stopSessionExecution
177
177
  };
178
- //# sourceMappingURL=chat-handler-OH5GPGLH.js.map
178
+ //# sourceMappingURL=chat-handler-2J457X35.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createVerifierNudgeConfig,
3
3
  runBuilderTurn,
4
4
  runChatTurn
5
- } from "./chunk-QIMHUO3E.js";
5
+ } from "./chunk-MNRVSEGN.js";
6
6
  import {
7
7
  TurnMetrics,
8
8
  agentExists,
@@ -37,10 +37,10 @@ import {
37
37
  setSkillEnabled,
38
38
  skillExists,
39
39
  spawnShellProcess
40
- } from "./chunk-2IIQ7EZV.js";
40
+ } from "./chunk-FBQWGH6N.js";
41
41
  import {
42
42
  getProject
43
- } from "./chunk-CMQCO27Y.js";
43
+ } from "./chunk-X4VMSNLI.js";
44
44
  import {
45
45
  getPathSeparator,
46
46
  getPlatformShell,
@@ -87,10 +87,10 @@ import {
87
87
  updateSessionProvider,
88
88
  updateSessionRunning,
89
89
  updateSessionSummary
90
- } from "./chunk-6THJULLK.js";
90
+ } from "./chunk-67LWZEDE.js";
91
91
  import {
92
92
  initDatabase
93
- } from "./chunk-KIOUKC3Z.js";
93
+ } from "./chunk-HEQ3V5SW.js";
94
94
  import {
95
95
  buildMessagesFromStoredEvents,
96
96
  foldPendingConfirmations
@@ -5261,7 +5261,7 @@ function createTerminalRoutes() {
5261
5261
  }
5262
5262
 
5263
5263
  // src/constants.ts
5264
- var VERSION = "1.6.84";
5264
+ var VERSION = "1.6.85";
5265
5265
 
5266
5266
  // src/server/index.ts
5267
5267
  var __dirname2 = dirname5(fileURLToPath4(import.meta.url));
@@ -5380,7 +5380,7 @@ async function createServerHandle(config) {
5380
5380
  res.json({ tools });
5381
5381
  });
5382
5382
  app.get("/api/projects", async (_req, res) => {
5383
- const { listProjects } = await import("./projects-XLMSDFTQ.js");
5383
+ const { listProjects } = await import("./projects-3EZINCLA.js");
5384
5384
  const projects = listProjects();
5385
5385
  res.json({ projects });
5386
5386
  });
@@ -5389,7 +5389,7 @@ async function createServerHandle(config) {
5389
5389
  if (!name || !workdir) {
5390
5390
  return res.status(400).json({ error: "name and workdir are required" });
5391
5391
  }
5392
- const { createDirectoryWithGit } = await import("./project-creator-GPOIXKX4.js");
5392
+ const { createDirectoryWithGit } = await import("./project-creator-Q5P4XA6O.js");
5393
5393
  try {
5394
5394
  const project = await createDirectoryWithGit(name, workdir);
5395
5395
  res.status(201).json({ project });
@@ -5434,7 +5434,7 @@ async function createServerHandle(config) {
5434
5434
  }
5435
5435
  });
5436
5436
  app.get("/api/projects/:id", async (req, res) => {
5437
- const { getProject: getProject2 } = await import("./projects-XLMSDFTQ.js");
5437
+ const { getProject: getProject2 } = await import("./projects-3EZINCLA.js");
5438
5438
  const project = getProject2(req.params.id);
5439
5439
  if (!project) {
5440
5440
  return res.status(404).json({ error: "Project not found" });
@@ -5442,11 +5442,12 @@ async function createServerHandle(config) {
5442
5442
  res.json({ project });
5443
5443
  });
5444
5444
  app.put("/api/projects/:id", async (req, res) => {
5445
- const { updateProject } = await import("./projects-XLMSDFTQ.js");
5446
- const { name, customInstructions } = req.body;
5445
+ const { updateProject } = await import("./projects-3EZINCLA.js");
5446
+ const { name, customInstructions, dangerLevel } = req.body;
5447
5447
  const updates = {};
5448
5448
  if (name !== void 0) updates.name = name;
5449
5449
  if (customInstructions !== void 0) updates.customInstructions = customInstructions;
5450
+ if (dangerLevel !== void 0) updates.dangerLevel = dangerLevel;
5450
5451
  const updated = updateProject(req.params.id, updates);
5451
5452
  if (!updated) {
5452
5453
  return res.status(404).json({ error: "Project not found" });
@@ -5454,7 +5455,7 @@ async function createServerHandle(config) {
5454
5455
  res.json({ project: updated });
5455
5456
  });
5456
5457
  app.delete("/api/projects/:id", async (req, res) => {
5457
- const { getProject: getProject2, deleteProject } = await import("./projects-XLMSDFTQ.js");
5458
+ const { getProject: getProject2, deleteProject } = await import("./projects-3EZINCLA.js");
5458
5459
  const project = getProject2(req.params.id);
5459
5460
  if (!project) {
5460
5461
  return res.status(404).json({ error: "Project not found" });
@@ -5463,7 +5464,7 @@ async function createServerHandle(config) {
5463
5464
  res.json({ success: true });
5464
5465
  });
5465
5466
  app.get("/api/sessions", async (req, res) => {
5466
- const { getRecentUserPromptsForSession } = await import("./events-H563T5M5.js");
5467
+ const { getRecentUserPromptsForSession } = await import("./events-BKR4RUU3.js");
5467
5468
  const projectId = req.query["projectId"];
5468
5469
  const limit = Math.min(parseInt(req.query["limit"]) || 20, 100);
5469
5470
  const offset = parseInt(req.query["offset"]) || 0;
@@ -5496,7 +5497,7 @@ async function createServerHandle(config) {
5496
5497
  res.status(201).json({ session });
5497
5498
  });
5498
5499
  app.get("/api/sessions/:id", async (req, res) => {
5499
- const { getEventStore: getEventStore2 } = await import("./events-H563T5M5.js");
5500
+ const { getEventStore: getEventStore2 } = await import("./events-BKR4RUU3.js");
5500
5501
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-4VHGQE6Y.js");
5501
5502
  const session = sessionManager.getSession(req.params.id);
5502
5503
  if (!session) {
@@ -5527,7 +5528,7 @@ async function createServerHandle(config) {
5527
5528
  res.json({ success: true });
5528
5529
  });
5529
5530
  app.post("/api/sessions/:id/provider", async (req, res) => {
5530
- const { getEventStore: getEventStore2 } = await import("./events-H563T5M5.js");
5531
+ const { getEventStore: getEventStore2 } = await import("./events-BKR4RUU3.js");
5531
5532
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-4VHGQE6Y.js");
5532
5533
  const sessionId = req.params.id;
5533
5534
  const session = sessionManager.getSession(sessionId);
@@ -5565,7 +5566,7 @@ async function createServerHandle(config) {
5565
5566
  res.json({ success: true });
5566
5567
  });
5567
5568
  app.put("/api/sessions/:id/mode", async (req, res) => {
5568
- const { getEventStore: getEventStore2 } = await import("./events-H563T5M5.js");
5569
+ const { getEventStore: getEventStore2 } = await import("./events-BKR4RUU3.js");
5569
5570
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2 } = await import("./folding-4VHGQE6Y.js");
5570
5571
  const sessionId = req.params.id;
5571
5572
  const session = sessionManager.getSession(sessionId);
@@ -5618,12 +5619,12 @@ async function createServerHandle(config) {
5618
5619
  if (!callId || approved === void 0) {
5619
5620
  return res.status(400).json({ error: "callId and approved are required" });
5620
5621
  }
5621
- const { providePathConfirmation } = await import("./tools-NBBDVEXF.js");
5622
+ const { providePathConfirmation } = await import("./tools-OPJZOAZX.js");
5622
5623
  const result = providePathConfirmation(callId, approved, alwaysAllow);
5623
5624
  if (!result.found) {
5624
5625
  return res.status(404).json({ error: "No pending path confirmation with that ID" });
5625
5626
  }
5626
- const { getEventStore: getEventStore2 } = await import("./events-H563T5M5.js");
5627
+ const { getEventStore: getEventStore2 } = await import("./events-BKR4RUU3.js");
5627
5628
  const { buildMessagesFromStoredEvents: buildMessagesFromStoredEvents2, foldPendingConfirmations: foldPendingConfirmations2 } = await import("./folding-4VHGQE6Y.js");
5628
5629
  const { createSessionStateMessage: createSessionStateMessage2 } = await import("./protocol-NEBXAMJ3.js");
5629
5630
  const eventStore = getEventStore2();
@@ -5642,7 +5643,7 @@ async function createServerHandle(config) {
5642
5643
  if (!callId || !answer) {
5643
5644
  return res.status(400).json({ error: "callId and answer are required" });
5644
5645
  }
5645
- const { provideAnswer: provideAnswer2 } = await import("./tools-NBBDVEXF.js");
5646
+ const { provideAnswer: provideAnswer2 } = await import("./tools-OPJZOAZX.js");
5646
5647
  const found = provideAnswer2(callId, answer);
5647
5648
  if (!found) {
5648
5649
  return res.status(404).json({ error: "No pending question with that ID" });
@@ -5678,14 +5679,14 @@ async function createServerHandle(config) {
5678
5679
  if (!session) {
5679
5680
  return res.status(404).json({ error: "Session not found" });
5680
5681
  }
5681
- const { stopSessionExecution } = await import("./chat-handler-OH5GPGLH.js");
5682
- const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-NBBDVEXF.js");
5682
+ const { stopSessionExecution } = await import("./chat-handler-2J457X35.js");
5683
+ const { cancelQuestionsForSession, cancelPathConfirmationsForSession } = await import("./tools-OPJZOAZX.js");
5683
5684
  stopSessionExecution(sessionId, sessionManager);
5684
5685
  abortSession(sessionId);
5685
5686
  cancelQuestionsForSession(sessionId, "Session stopped by user");
5686
5687
  cancelPathConfirmationsForSession(sessionId, "Session stopped by user");
5687
5688
  sessionManager.clearMessageQueue(sessionId);
5688
- const eventStore = (await import("./events-H563T5M5.js")).getEventStore();
5689
+ const eventStore = (await import("./events-BKR4RUU3.js")).getEventStore();
5689
5690
  eventStore.append(sessionId, { type: "running.changed", data: { isRunning: false } });
5690
5691
  res.json({ success: true });
5691
5692
  });
@@ -5699,7 +5700,7 @@ async function createServerHandle(config) {
5699
5700
  if (typeof messageIndex !== "number" || messageIndex < 0) {
5700
5701
  return res.status(400).json({ error: "messageIndex must be a non-negative number" });
5701
5702
  }
5702
- const { truncateSessionMessages } = await import("./events-H563T5M5.js");
5703
+ const { truncateSessionMessages } = await import("./events-BKR4RUU3.js");
5703
5704
  truncateSessionMessages(sessionId, messageIndex);
5704
5705
  res.json({ success: true });
5705
5706
  });
@@ -5730,13 +5731,13 @@ async function createServerHandle(config) {
5730
5731
  res.json({ accepted: true });
5731
5732
  });
5732
5733
  app.get("/api/settings/:key", async (req, res) => {
5733
- const { getSetting, SETTINGS_DEFAULTS } = await import("./settings-TQNQB56H.js");
5734
+ const { getSetting, SETTINGS_DEFAULTS } = await import("./settings-E3KEHN2M.js");
5734
5735
  const key = req.params.key;
5735
5736
  const value = getSetting(key) ?? SETTINGS_DEFAULTS[key] ?? null;
5736
5737
  res.json({ key, value });
5737
5738
  });
5738
5739
  app.put("/api/settings/:key", async (req, res) => {
5739
- const { setSetting } = await import("./settings-TQNQB56H.js");
5740
+ const { setSetting } = await import("./settings-E3KEHN2M.js");
5740
5741
  const key = req.params.key;
5741
5742
  const { value } = req.body;
5742
5743
  if (value === void 0) {
@@ -6168,7 +6169,7 @@ async function createServerHandle(config) {
6168
6169
  providerManager
6169
6170
  );
6170
6171
  const wss = wssExports.wss;
6171
- const { QueueProcessor } = await import("./processor-OHI5QJ6F.js");
6172
+ const { QueueProcessor } = await import("./processor-KULEUD7B.js");
6172
6173
  const queueProcessor = new QueueProcessor({
6173
6174
  sessionManager,
6174
6175
  providerManager,
@@ -6243,4 +6244,4 @@ export {
6243
6244
  createServerHandle,
6244
6245
  createServer
6245
6246
  };
6246
- //# sourceMappingURL=chunk-W7BC4WCC.js.map
6247
+ //# sourceMappingURL=chunk-2XCN5AUU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDatabase
3
- } from "./chunk-KIOUKC3Z.js";
3
+ } from "./chunk-HEQ3V5SW.js";
4
4
  import {
5
5
  buildContextMessagesFromEventHistory,
6
6
  buildMessagesFromStoredEvents,
@@ -587,16 +587,26 @@ function createEvent(type, data) {
587
587
  }
588
588
 
589
589
  // src/server/db/sessions.ts
590
+ function getProjectDangerLevel(projectId) {
591
+ try {
592
+ const db = getDatabase();
593
+ const row = db.prepare("SELECT danger_level FROM projects WHERE id = ?").get(projectId);
594
+ return row?.danger_level ?? "normal";
595
+ } catch {
596
+ return "normal";
597
+ }
598
+ }
590
599
  function createSession(projectId, workdir, title, providerId, providerModel) {
591
600
  const db = getDatabase();
592
601
  const now = (/* @__PURE__ */ new Date()).toISOString();
593
602
  const id = crypto.randomUUID();
603
+ const dangerLevel = getProjectDangerLevel(projectId);
594
604
  db.prepare(
595
605
  `
596
606
  INSERT INTO sessions (id, project_id, workdir, phase, mode, workflow_phase, is_running, created_at, updated_at, title, provider_id, provider_model, danger_level)
597
- VALUES (?, ?, ?, 'idle', 'planner', 'plan', 0, ?, ?, ?, ?, ?, 'normal')
607
+ VALUES (?, ?, ?, 'idle', 'planner', 'plan', 0, ?, ?, ?, ?, ?, ?)
598
608
  `
599
- ).run(id, projectId, workdir, now, now, title ?? null, providerId ?? null, providerModel ?? null);
609
+ ).run(id, projectId, workdir, now, now, title ?? null, providerId ?? null, providerModel ?? null, dangerLevel);
600
610
  return {
601
611
  id,
602
612
  projectId,
@@ -619,7 +629,7 @@ function createSession(projectId, workdir, title, providerId, providerModel) {
619
629
  totalToolCalls: 0,
620
630
  iterationCount: 0
621
631
  },
622
- dangerLevel: "normal"
632
+ dangerLevel
623
633
  };
624
634
  }
625
635
  function getSession(id) {
@@ -1269,4 +1279,4 @@ export {
1269
1279
  compactContext,
1270
1280
  getRecentUserPromptsForSession
1271
1281
  };
1272
- //# sourceMappingURL=chunk-6THJULLK.js.map
1282
+ //# sourceMappingURL=chunk-67LWZEDE.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getEventStore,
3
3
  updateSessionMetadata
4
- } from "./chunk-6THJULLK.js";
4
+ } from "./chunk-67LWZEDE.js";
5
5
  import {
6
6
  buildMessagesFromStoredEvents,
7
7
  foldPendingConfirmations
@@ -143,4 +143,4 @@ export {
143
143
  needsNameGenerationCheck,
144
144
  applyGeneratedSessionName
145
145
  };
146
- //# sourceMappingURL=chunk-6GH2PJJC.js.map
146
+ //# sourceMappingURL=chunk-7FVEX6UG.js.map
@@ -190,7 +190,7 @@ async function runCli(options) {
190
190
  if (!configExists) {
191
191
  await runNetworkSetup(mode);
192
192
  }
193
- const { runServe } = await import("./serve-IWRMBDPG.js");
193
+ const { runServe } = await import("./serve-K5T5YSDU.js");
194
194
  const serveOptions = { mode };
195
195
  if (values.port) serveOptions.port = parseInt(values.port);
196
196
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -202,4 +202,4 @@ async function runCli(options) {
202
202
  export {
203
203
  runCli
204
204
  };
205
- //# sourceMappingURL=chunk-M7INHE2B.js.map
205
+ //# sourceMappingURL=chunk-EBPKXVOF.js.map
@@ -3,10 +3,10 @@ import {
3
3
  deleteSetting,
4
4
  getSetting,
5
5
  setSetting
6
- } from "./chunk-OXI26S7U.js";
6
+ } from "./chunk-PI7L2SEU.js";
7
7
  import {
8
8
  getProject
9
- } from "./chunk-CMQCO27Y.js";
9
+ } from "./chunk-X4VMSNLI.js";
10
10
  import {
11
11
  startInspectProxy
12
12
  } from "./chunk-DL6ZILAF.js";
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  getCurrentContextWindowId,
34
34
  getEventStore
35
- } from "./chunk-6THJULLK.js";
35
+ } from "./chunk-67LWZEDE.js";
36
36
  import {
37
37
  buildContextMessagesFromEventHistory,
38
38
  foldContextState,
@@ -3793,7 +3793,7 @@ var callSubAgentTool = {
3793
3793
  };
3794
3794
  }
3795
3795
  try {
3796
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-NBBDVEXF.js");
3796
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-OPJZOAZX.js");
3797
3797
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3798
3798
  const turnMetrics = new TurnMetrics();
3799
3799
  const result = await executeSubAgent({
@@ -4983,4 +4983,4 @@ export {
4983
4983
  getToolRegistryForAgent,
4984
4984
  createToolRegistry
4985
4985
  };
4986
- //# sourceMappingURL=chunk-2IIQ7EZV.js.map
4986
+ //# sourceMappingURL=chunk-FBQWGH6N.js.map
@@ -106,6 +106,10 @@ function runMigrations(db2) {
106
106
  logger.info("Migrating projects table: adding custom_instructions column");
107
107
  db2.exec(`ALTER TABLE projects ADD COLUMN custom_instructions TEXT`);
108
108
  }
109
+ if (!projectColumnNames.includes("danger_level")) {
110
+ logger.info("Migrating projects table: adding danger_level column");
111
+ db2.exec(`ALTER TABLE projects ADD COLUMN danger_level TEXT`);
112
+ }
109
113
  db2.exec(`
110
114
  CREATE TABLE IF NOT EXISTS events (
111
115
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -164,4 +168,4 @@ export {
164
168
  initDatabase,
165
169
  getDatabase
166
170
  };
167
- //# sourceMappingURL=chunk-KIOUKC3Z.js.map
171
+ //# sourceMappingURL=chunk-HEQ3V5SW.js.map
@@ -13,11 +13,11 @@ import {
13
13
  getToolRegistryForAgent,
14
14
  loadAllAgentsDefault,
15
15
  runTopLevelAgentLoop
16
- } from "./chunk-2IIQ7EZV.js";
16
+ } from "./chunk-FBQWGH6N.js";
17
17
  import {
18
18
  getCurrentContextWindowId,
19
19
  getEventStore
20
- } from "./chunk-6THJULLK.js";
20
+ } from "./chunk-67LWZEDE.js";
21
21
  import {
22
22
  buildSnapshotFromSessionState
23
23
  } from "./chunk-XVWVAWSG.js";
@@ -327,4 +327,4 @@ export {
327
327
  runBuilderTurn,
328
328
  runVerifierTurn
329
329
  };
330
- //# sourceMappingURL=chunk-QIMHUO3E.js.map
330
+ //# sourceMappingURL=chunk-MNRVSEGN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDatabase
3
- } from "./chunk-KIOUKC3Z.js";
3
+ } from "./chunk-HEQ3V5SW.js";
4
4
 
5
5
  // src/server/db/settings.ts
6
6
  var SETTINGS_KEYS = {
@@ -63,4 +63,4 @@ export {
63
63
  deleteSetting,
64
64
  getAllSettings
65
65
  };
66
- //# sourceMappingURL=chunk-OXI26S7U.js.map
66
+ //# sourceMappingURL=chunk-PI7L2SEU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDatabase
3
- } from "./chunk-KIOUKC3Z.js";
3
+ } from "./chunk-HEQ3V5SW.js";
4
4
 
5
5
  // src/server/db/projects.ts
6
6
  function createProject(name, workdir) {
@@ -67,6 +67,10 @@ function updateProject(id, updates) {
67
67
  sets.push("custom_instructions = ?");
68
68
  values.push(updates.customInstructions);
69
69
  }
70
+ if (updates.dangerLevel !== void 0) {
71
+ sets.push("danger_level = ?");
72
+ values.push(updates.dangerLevel);
73
+ }
70
74
  values.push(id);
71
75
  const result = db.prepare(
72
76
  `
@@ -88,6 +92,7 @@ function rowToProject(row) {
88
92
  name: row.name,
89
93
  workdir: row.workdir,
90
94
  ...row.custom_instructions ? { customInstructions: row.custom_instructions } : {},
95
+ ...row.danger_level ? { dangerLevel: row.danger_level } : {},
91
96
  createdAt: row.created_at,
92
97
  updatedAt: row.updated_at
93
98
  };
@@ -101,4 +106,4 @@ export {
101
106
  updateProject,
102
107
  deleteProject
103
108
  };
104
- //# sourceMappingURL=chunk-CMQCO27Y.js.map
109
+ //# sourceMappingURL=chunk-X4VMSNLI.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-M7INHE2B.js";
4
+ } from "../chunk-EBPKXVOF.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
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-M7INHE2B.js";
4
+ } from "../chunk-EBPKXVOF.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-K44MW7JJ.js";
@@ -37,8 +37,8 @@ import {
37
37
  isStoredEvent,
38
38
  isTurnEvent,
39
39
  truncateSessionMessages
40
- } from "./chunk-6THJULLK.js";
41
- import "./chunk-KIOUKC3Z.js";
40
+ } from "./chunk-67LWZEDE.js";
41
+ import "./chunk-HEQ3V5SW.js";
42
42
  import {
43
43
  buildContextMessagesFromEventHistory,
44
44
  buildContextMessagesFromMessages,
@@ -113,4 +113,4 @@ export {
113
113
  isTurnEvent,
114
114
  truncateSessionMessages
115
115
  };
116
- //# sourceMappingURL=events-H563T5M5.js.map
116
+ //# sourceMappingURL=events-BKR4RUU3.js.map
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-QIMHUO3E.js";
6
+ } from "./chunk-MNRVSEGN.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,15 +11,15 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-2IIQ7EZV.js";
15
- import "./chunk-OXI26S7U.js";
16
- import "./chunk-CMQCO27Y.js";
14
+ } from "./chunk-FBQWGH6N.js";
15
+ import "./chunk-PI7L2SEU.js";
16
+ import "./chunk-X4VMSNLI.js";
17
17
  import "./chunk-DL6ZILAF.js";
18
18
  import "./chunk-PBGOZMVY.js";
19
19
  import "./chunk-VRGRAQDG.js";
20
20
  import "./chunk-YNIAFX24.js";
21
- import "./chunk-6THJULLK.js";
22
- import "./chunk-KIOUKC3Z.js";
21
+ import "./chunk-67LWZEDE.js";
22
+ import "./chunk-HEQ3V5SW.js";
23
23
  import "./chunk-XVWVAWSG.js";
24
24
  import "./chunk-GN7RB4Y4.js";
25
25
  import "./chunk-BJYPTN5S.js";
@@ -40,4 +40,4 @@ export {
40
40
  runChatTurn,
41
41
  runVerifierTurn
42
42
  };
43
- //# sourceMappingURL=orchestrator-NSDEXVSR.js.map
43
+ //# sourceMappingURL=orchestrator-Y2YGSF4I.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.6.84",
3
+ "version": "1.6.85",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -5,11 +5,11 @@ import {
5
5
  generateSessionName,
6
6
  getSessionMessageCount,
7
7
  needsNameGenerationCheck
8
- } from "./chunk-6GH2PJJC.js";
8
+ } from "./chunk-7FVEX6UG.js";
9
9
  import {
10
10
  getEventStore
11
- } from "./chunk-6THJULLK.js";
12
- import "./chunk-KIOUKC3Z.js";
11
+ } from "./chunk-67LWZEDE.js";
12
+ import "./chunk-HEQ3V5SW.js";
13
13
  import "./chunk-XVWVAWSG.js";
14
14
  import {
15
15
  createChatMessageMessage,
@@ -177,7 +177,7 @@ var QueueProcessor = class {
177
177
  backend: provider?.backend ?? llmClient.getBackend(),
178
178
  model: llmClient.getModel()
179
179
  };
180
- const { runChatTurn } = await import("./orchestrator-NSDEXVSR.js");
180
+ const { runChatTurn } = await import("./orchestrator-Y2YGSF4I.js");
181
181
  const runChatTurnParams = buildRunChatTurnParams({
182
182
  sessionManager,
183
183
  sessionId,
@@ -221,4 +221,4 @@ var QueueProcessor = class {
221
221
  export {
222
222
  QueueProcessor
223
223
  };
224
- //# sourceMappingURL=processor-OHI5QJ6F.js.map
224
+ //# sourceMappingURL=processor-KULEUD7B.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createProject
3
- } from "./chunk-CMQCO27Y.js";
4
- import "./chunk-KIOUKC3Z.js";
3
+ } from "./chunk-X4VMSNLI.js";
4
+ import "./chunk-HEQ3V5SW.js";
5
5
  import "./chunk-K44MW7JJ.js";
6
6
 
7
7
  // src/server/utils/project-creator.ts
@@ -108,4 +108,4 @@ export {
108
108
  createDirectoryWithGit,
109
109
  validateProjectName
110
110
  };
111
- //# sourceMappingURL=project-creator-GPOIXKX4.js.map
111
+ //# sourceMappingURL=project-creator-Q5P4XA6O.js.map
@@ -5,8 +5,8 @@ import {
5
5
  getProjectByWorkdir,
6
6
  listProjects,
7
7
  updateProject
8
- } from "./chunk-CMQCO27Y.js";
9
- import "./chunk-KIOUKC3Z.js";
8
+ } from "./chunk-X4VMSNLI.js";
9
+ import "./chunk-HEQ3V5SW.js";
10
10
  import "./chunk-K44MW7JJ.js";
11
11
  export {
12
12
  createProject,
@@ -16,4 +16,4 @@ export {
16
16
  listProjects,
17
17
  updateProject
18
18
  };
19
- //# sourceMappingURL=projects-XLMSDFTQ.js.map
19
+ //# sourceMappingURL=projects-3EZINCLA.js.map
@@ -3,6 +3,7 @@ interface Project {
3
3
  name: string;
4
4
  workdir: string;
5
5
  customInstructions?: string;
6
+ dangerLevel?: DangerLevel;
6
7
  createdAt: string;
7
8
  updatedAt: string;
8
9
  }