openfox 2.0.111 → 2.0.113

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 (86) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +1 -0
  3. package/dist/CHANGELOG.md +33 -0
  4. package/dist/{chat-handler-BYXZIIV3.js → chat-handler-PEK5JDHO.js} +24 -24
  5. package/dist/{chunk-3UILDGOO.js → chunk-3R43CMLS.js} +8 -8
  6. package/dist/{chunk-ERYUSG5C.js → chunk-43M7QZMX.js} +2 -2
  7. package/dist/{chunk-SYJMUIRC.js → chunk-4NMGX5F2.js} +2 -2
  8. package/dist/{chunk-RAKPI4OE.js → chunk-5VYSKVZT.js} +28 -25
  9. package/dist/{chunk-FFPCVN5M.js → chunk-6UPBZ2ZR.js} +4 -4
  10. package/dist/{chunk-C5NQF2K4.js → chunk-AZFZE36I.js} +15 -6
  11. package/dist/chunk-B2PHPBFU.js +7 -0
  12. package/dist/{chunk-P45RJGOT.js → chunk-BKCW3JLL.js} +1 -1
  13. package/dist/{chunk-N4RTAGFY.js → chunk-BNFGDTEU.js} +2 -2
  14. package/dist/{chunk-JNHKKUGJ.js → chunk-BYSUSSSC.js} +2 -2
  15. package/dist/{chunk-NB2D6I64.js → chunk-CP44U7BT.js} +5 -5
  16. package/dist/{chunk-SVJFMZ2Q.js → chunk-EC5T5A6O.js} +11 -4
  17. package/dist/{chunk-RKMP74BB.js → chunk-EMI3YYLP.js} +3 -3
  18. package/dist/{chunk-BOSKQI62.js → chunk-FF2EKUQO.js} +4 -4
  19. package/dist/{chunk-XCK5IBO4.js → chunk-HGOTZWON.js} +41 -19
  20. package/dist/{chunk-XWNCKIPO.js → chunk-HKD4IMOE.js} +2 -2
  21. package/dist/{chunk-C372UH7N.js → chunk-KSXCOHHW.js} +18 -20
  22. package/dist/{chunk-Z56SEG4Z.js → chunk-O2YSYW2F.js} +6 -6
  23. package/dist/{chunk-4DTV5JVI.js → chunk-ONONXV3N.js} +7 -7
  24. package/dist/{chunk-LCQ5AN6Y.js → chunk-PWXBIUEY.js} +5 -1
  25. package/dist/{chunk-33Q7LCVD.js → chunk-R2MTWC7C.js} +2 -2
  26. package/dist/{chunk-JDT63SSP.js → chunk-SNLLOXCM.js} +3 -3
  27. package/dist/{chunk-FSYRANYR.js → chunk-TCGWZBTS.js} +3 -4
  28. package/dist/{chunk-A32COLEZ.js → chunk-TEQEDOWI.js} +206 -143
  29. package/dist/{chunk-PCC4DBPF.js → chunk-V4664YKR.js} +2 -2
  30. package/dist/{chunk-FR5LUTLQ.js → chunk-VGRVPYZ5.js} +10 -6
  31. package/dist/{chunk-RT2A2RRL.js → chunk-WWTYWLDM.js} +2 -2
  32. package/dist/{chunk-6FPGJR7O.js → chunk-XQR76MQ5.js} +2 -2
  33. package/dist/{chunk-RISQXU32.js → chunk-Y64PEWKP.js} +2 -2
  34. package/dist/{chunk-QGXLZZBS.js → chunk-YB6WYVNY.js} +2 -2
  35. package/dist/{chunk-SDGNV45R.js → chunk-YGPPFVLJ.js} +10 -10
  36. package/dist/cli/dev.js +1 -1
  37. package/dist/cli/index.js +1 -1
  38. package/dist/{client-QNQTX5EA.js → client-3LJGD6KY.js} +5 -5
  39. package/dist/{compactor-X2KZ3XFU.js → compactor-ZBNKANHV.js} +10 -10
  40. package/dist/{config-TW5FHQEM.js → config-EAB3V4QK.js} +2 -2
  41. package/dist/{dynamic-context-ZRQO2FJN.js → dynamic-context-F2XTQJR5.js} +9 -9
  42. package/dist/{events-Y6XXQYFG.js → events-224IO5NJ.js} +7 -7
  43. package/dist/{folding-Z4GNWRC3.js → folding-YTTTVS56.js} +5 -5
  44. package/dist/http-client-YC3UA5OZ.js +11 -0
  45. package/dist/{inspect-proxy-N42Z5TOG.js → inspect-proxy-B7LGGTM7.js} +4 -4
  46. package/dist/{manager-HCMDFEQH.js → manager-4QGXI6WZ.js} +5 -5
  47. package/dist/{model-overrides-O3ZYKFP7.js → model-overrides-OY2YKUNV.js} +4 -4
  48. package/dist/{orchestrator-P5EUMC7E.js → orchestrator-JKBY7B3P.js} +23 -23
  49. package/dist/package.json +7 -5
  50. package/dist/{path-security-525YLND3.js → path-security-PFMZY7IA.js} +11 -11
  51. package/dist/{platform-MEQUWG6U.js → platform-QNGCKX4L.js} +4 -4
  52. package/dist/{processor-UN4H4V7F.js → processor-NYPJ5PFA.js} +23 -23
  53. package/dist/{project-creator-BVA55HY6.js → project-creator-AWP2JUFS.js} +3 -3
  54. package/dist/{projects-PQXME5S4.js → projects-C4353IQK.js} +3 -3
  55. package/dist/{protocol-D6MISQyz.d.ts → protocol-CBT1d98i.d.ts} +3 -1
  56. package/dist/{protocol-FTHAR2YL.js → protocol-LZZ7C4VQ.js} +3 -3
  57. package/dist/provider/index.d.ts +4 -4
  58. package/dist/{provider-3R4X62LW.js → provider-PIRPN2CC.js} +8 -8
  59. package/dist/{provider-manager-W5N4XRE5.js → provider-manager-GNEPR6UN.js} +6 -6
  60. package/dist/{registry-74KPZ5NV.js → registry-VCKDSVKA.js} +4 -4
  61. package/dist/{serve-V7WQKJ52.js → serve-6DRHQLCG.js} +31 -31
  62. package/dist/server/index.d.ts +7 -4
  63. package/dist/server/index.js +30 -30
  64. package/dist/server-HUHFJW7U.js +48 -0
  65. package/dist/{session-overrides-XH6I3COP.js → session-overrides-RNKV35MU.js} +6 -6
  66. package/dist/{sessions-D772YTWL.js → sessions-D5CEPQGU.js} +7 -5
  67. package/dist/{settings-KO6DSJLD.js → settings-BNRNX6IW.js} +3 -3
  68. package/dist/shared/index.d.ts +3 -3
  69. package/dist/shared/index.js +1 -1
  70. package/dist/skill-defaults/workflows/SKILL.md +499 -0
  71. package/dist/{tools-HTUTYMKI.js → tools-2B363F7L.js} +21 -21
  72. package/dist/{types-BMEOlLT0.d.ts → types-BAxh20ZL.d.ts} +8 -1
  73. package/dist/{types-D0TgGL3t.d.ts → types-cVfqOj6M.d.ts} +1 -1
  74. package/dist/{update-MWPQNSEZ.js → update-IQMRYN7J.js} +2 -2
  75. package/dist/web/assets/{index-nS1p0g8O.css → index-CjWC6EQ4.css} +1 -1
  76. package/dist/web/assets/index-DBUtUSHK.js +323 -0
  77. package/dist/web/index.html +2 -2
  78. package/dist/web/sw.js +1 -1
  79. package/dist/workflow-defaults/default.workflow.json +41 -3
  80. package/dist/{workspace-YDUQZ3HC.js → workspace-YUNHV4WS.js} +4 -4
  81. package/package.json +7 -5
  82. package/scripts/postinstall.mjs +8 -0
  83. package/dist/chunk-GZOK3FAA.js +0 -7
  84. package/dist/http-client-2GDKHZIG.js +0 -11
  85. package/dist/server-7MOOJR2N.js +0 -48
  86. package/dist/web/assets/index-Dukvfqm-.js +0 -323
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  getProject
3
- } from "./chunk-6FPGJR7O.js";
3
+ } from "./chunk-XQR76MQ5.js";
4
4
  import {
5
5
  deleteItemFromDir,
6
6
  loadItemsFromDir,
7
7
  pathExists
8
- } from "./chunk-JNHKKUGJ.js";
8
+ } from "./chunk-BYSUSSSC.js";
9
9
  import {
10
10
  SETTINGS_KEYS,
11
11
  deleteSetting,
12
12
  getSetting,
13
13
  setSetting
14
- } from "./chunk-RT2A2RRL.js";
14
+ } from "./chunk-WWTYWLDM.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-BOSKQI62.js.map
443
+ //# sourceMappingURL=chunk-FF2EKUQO.js.map
@@ -2,24 +2,24 @@ import {
2
2
  generateSessionNameForSession,
3
3
  getSessionMessageCount,
4
4
  needsNameGeneration
5
- } from "./chunk-3UILDGOO.js";
5
+ } from "./chunk-3R43CMLS.js";
6
6
  import {
7
7
  runAgentTurn,
8
8
  runChatTurn
9
- } from "./chunk-SDGNV45R.js";
9
+ } from "./chunk-YGPPFVLJ.js";
10
10
  import {
11
11
  applyDynamicContext,
12
12
  computeSessionHash,
13
13
  computeUnifiedDiff
14
- } from "./chunk-Z56SEG4Z.js";
14
+ } from "./chunk-O2YSYW2F.js";
15
15
  import {
16
16
  appendCompactionPrompt
17
- } from "./chunk-RKMP74BB.js";
17
+ } from "./chunk-EMI3YYLP.js";
18
18
  import {
19
19
  devServerManager,
20
20
  executeSubAgent,
21
21
  getToolRegistryForAgent
22
- } from "./chunk-RAKPI4OE.js";
22
+ } from "./chunk-5VYSKVZT.js";
23
23
  import {
24
24
  TurnMetrics,
25
25
  createMessageStartEvent
@@ -29,7 +29,7 @@ import {
29
29
  decodeUtf8,
30
30
  onProcessEvent,
31
31
  spawnShellProcess
32
- } from "./chunk-SVJFMZ2Q.js";
32
+ } from "./chunk-EC5T5A6O.js";
33
33
  import {
34
34
  killProcessTree,
35
35
  terminateProcessTree
@@ -41,7 +41,7 @@ import {
41
41
  combineEventsWithSnapshot,
42
42
  getCurrentContextWindowId,
43
43
  getEventStore
44
- } from "./chunk-NB2D6I64.js";
44
+ } from "./chunk-CP44U7BT.js";
45
45
  import {
46
46
  createChatErrorMessage,
47
47
  createChatMessageMessage,
@@ -56,10 +56,10 @@ import {
56
56
  parseClientMessage,
57
57
  serializeServerMessage,
58
58
  storedEventToServerMessage
59
- } from "./chunk-SYJMUIRC.js";
59
+ } from "./chunk-4NMGX5F2.js";
60
60
  import {
61
61
  getPlatformShell
62
- } from "./chunk-N4RTAGFY.js";
62
+ } from "./chunk-BNFGDTEU.js";
63
63
  import {
64
64
  getPendingQuestionsForSession,
65
65
  provideAnswer
@@ -67,7 +67,7 @@ import {
67
67
  import {
68
68
  buildMessagesFromStoredEvents,
69
69
  foldPendingConfirmations
70
- } from "./chunk-QGXLZZBS.js";
70
+ } from "./chunk-YB6WYVNY.js";
71
71
  import {
72
72
  deleteItemFromDir,
73
73
  findAgentById,
@@ -76,10 +76,10 @@ import {
76
76
  loadAllAgentsDefault,
77
77
  resolveDefaultAgentId,
78
78
  saveItemToDir
79
- } from "./chunk-JNHKKUGJ.js";
79
+ } from "./chunk-BYSUSSSC.js";
80
80
  import {
81
81
  getMaxVisibleItems
82
- } from "./chunk-RT2A2RRL.js";
82
+ } from "./chunk-WWTYWLDM.js";
83
83
  import {
84
84
  logger
85
85
  } from "./chunk-K44MW7JJ.js";
@@ -88,7 +88,7 @@ import {
88
88
  } from "./chunk-VUQCQXXJ.js";
89
89
  import {
90
90
  createServerMessage
91
- } from "./chunk-P45RJGOT.js";
91
+ } from "./chunk-BKCW3JLL.js";
92
92
  import {
93
93
  getGlobalConfigDir
94
94
  } from "./chunk-CQGTEGKL.js";
@@ -360,6 +360,9 @@ var __bundleDir = dirname(fileURLToPath(import.meta.url));
360
360
  var DEFAULTS_DIR = join(__bundleDir, "defaults");
361
361
  var DEFAULTS_DIR_ALT = join(__bundleDir, "workflow-defaults");
362
362
  var WORKFLOW_EXTENSION = ".workflow.json";
363
+ function normalizeWorkflowScope(value) {
364
+ return typeof value === "string" && (value === "builtin" || value === "user" || value === "project" || value === "auto") ? value : "auto";
365
+ }
363
366
  function getWorkflowsDir(configDir) {
364
367
  return join(configDir, "workflows");
365
368
  }
@@ -1116,6 +1119,10 @@ ${output.slice(0, 1e4)}
1116
1119
  break;
1117
1120
  }
1118
1121
  if (executionId) {
1122
+ const choices = userStepChoices(step).map((choice) => {
1123
+ const target = choice.goto ? stepsById.get(choice.goto) : void 0;
1124
+ return target ? { ...choice, nextStepName: target.name } : choice;
1125
+ });
1119
1126
  sessionManager.waitAtStep(
1120
1127
  sessionId,
1121
1128
  executionId,
@@ -1125,7 +1132,7 @@ ${output.slice(0, 1e4)}
1125
1132
  workflow.metadata.id,
1126
1133
  workflow.metadata.name,
1127
1134
  workflow.metadata.color,
1128
- userStepChoices(step)
1135
+ choices
1129
1136
  );
1130
1137
  }
1131
1138
  logger.debug("Workflow paused at user step", { sessionId, stepId: step.id, stepName: step.name });
@@ -1237,8 +1244,21 @@ async function runOrchestrator(options) {
1237
1244
  const configDir = getGlobalConfigDir(runtimeConfig.mode ?? "production");
1238
1245
  const session = options.sessionManager.requireSession(options.sessionId);
1239
1246
  const projectDir = session.workdir;
1240
- const workflows = await loadAllWorkflows(configDir, projectDir);
1241
- const workflow = findWorkflowById(workflowId, workflows);
1247
+ const scope = normalizeWorkflowScope(options.scope);
1248
+ let workflow;
1249
+ if (scope === "builtin") {
1250
+ workflow = findWorkflowById(workflowId, await loadDefaultWorkflows());
1251
+ } else if (scope === "user") {
1252
+ workflow = findWorkflowById(workflowId, await loadUserWorkflows(configDir));
1253
+ } else if (scope === "project") {
1254
+ workflow = projectDir ? findWorkflowById(workflowId, await loadProjectWorkflows(projectDir)) : void 0;
1255
+ } else {
1256
+ workflow = void 0;
1257
+ }
1258
+ if (!workflow) {
1259
+ const workflows = await loadAllWorkflows(configDir, projectDir);
1260
+ workflow = findWorkflowById(workflowId, workflows);
1261
+ }
1242
1262
  if (!workflow) {
1243
1263
  throw new Error(`Workflow "${workflowId}" not found`);
1244
1264
  }
@@ -2200,8 +2220,8 @@ async function handleClientMessage(ws, client, message, _getLLMClient, _getActiv
2200
2220
  const sessionId = client.activeSessionId;
2201
2221
  const session = sessionManager.requireSession(sessionId);
2202
2222
  try {
2203
- const { buildCachedPrompt } = await import("./dynamic-context-ZRQO2FJN.js");
2204
- const allAgents = await import("./registry-74KPZ5NV.js");
2223
+ const { buildCachedPrompt } = await import("./dynamic-context-F2XTQJR5.js");
2224
+ const allAgents = await import("./registry-VCKDSVKA.js");
2205
2225
  const agentDef = allAgents.findAgentById(session.mode, await allAgents.loadAllAgentsDefault()) ?? allAgents.findAgentById("planner", await allAgents.loadAllAgentsDefault());
2206
2226
  const modelName = session.providerModel ?? _providerManager?.getCurrentModel();
2207
2227
  const { systemPrompt: newPrompt, hash: newHash } = await buildCachedPrompt(
@@ -2356,6 +2376,7 @@ ${content}` : workflowInfo;
2356
2376
  sessionId,
2357
2377
  llmClient: llmForSession(sessionId),
2358
2378
  statsIdentity: statsForSession(sessionId),
2379
+ scope: normalizeWorkflowScope(launchPayload?.scope),
2359
2380
  ...launchPayload?.workflowId ? { workflowId: launchPayload.workflowId } : {},
2360
2381
  ...launchPayload?.subGroup ? { subGroup: launchPayload.subGroup } : {},
2361
2382
  ...isResume && launchPayload?.resumeFrom ? { resumeFromStep: launchPayload.resumeFrom } : {},
@@ -2501,6 +2522,7 @@ ${content}` : workflowInfo;
2501
2522
 
2502
2523
  export {
2503
2524
  terminalManager,
2525
+ normalizeWorkflowScope,
2504
2526
  loadDefaultWorkflows,
2505
2527
  loadUserWorkflows,
2506
2528
  loadProjectWorkflows,
@@ -2524,4 +2546,4 @@ export {
2524
2546
  signalMcpReady,
2525
2547
  createWebSocketServer
2526
2548
  };
2527
- //# sourceMappingURL=chunk-XCK5IBO4.js.map
2549
+ //# sourceMappingURL=chunk-HGOTZWON.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPlatformShell
3
- } from "./chunk-N4RTAGFY.js";
3
+ } from "./chunk-BNFGDTEU.js";
4
4
 
5
5
  // src/server/tools/tool-policy.ts
6
6
  var ALWAYS_ALLOWED = /* @__PURE__ */ new Set(["step_done"]);
@@ -246,4 +246,4 @@ export {
246
246
  buildAgentSmallReminder,
247
247
  COMPACTION_PROMPT
248
248
  };
249
- //# sourceMappingURL=chunk-XWNCKIPO.js.map
249
+ //# sourceMappingURL=chunk-HKD4IMOE.js.map
@@ -53,25 +53,23 @@ var providerSchema = z.object({
53
53
  authAdapter: z.string().optional(),
54
54
  transportAdapter: z.string().optional(),
55
55
  credentialRef: z.string().optional()
56
- }).transform(
57
- (provider) => ({
58
- id: provider.id,
59
- ...provider.preset ? { preset: provider.preset } : {},
60
- name: provider.name ?? provider.id,
61
- url: provider.url ?? "",
62
- backend: provider.backend ?? "unknown",
63
- ...provider.apiKey ? { apiKey: provider.apiKey } : {},
64
- models: provider.models ?? [],
65
- isActive: provider.isActive ?? false,
66
- createdAt: provider.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
67
- ...provider.isLocal !== void 0 ? { isLocal: provider.isLocal } : {},
68
- ...provider.thinkingField ? { thinkingField: provider.thinkingField } : {},
69
- ...provider.sendReasoningInMessages !== void 0 ? { sendReasoningInMessages: provider.sendReasoningInMessages } : {},
70
- ...provider.authAdapter ? { authAdapter: provider.authAdapter } : {},
71
- ...provider.transportAdapter ? { transportAdapter: provider.transportAdapter } : {},
72
- ...provider.credentialRef ? { credentialRef: provider.credentialRef } : {}
73
- })
74
- );
56
+ }).transform((provider) => ({
57
+ id: provider.id,
58
+ ...provider.preset ? { preset: provider.preset } : {},
59
+ name: provider.name ?? provider.id,
60
+ url: provider.url ?? "",
61
+ backend: provider.backend ?? "unknown",
62
+ ...provider.apiKey ? { apiKey: provider.apiKey } : {},
63
+ models: provider.models ?? [],
64
+ isActive: provider.isActive ?? false,
65
+ createdAt: provider.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
66
+ ...provider.isLocal !== void 0 ? { isLocal: provider.isLocal } : {},
67
+ ...provider.thinkingField ? { thinkingField: provider.thinkingField } : {},
68
+ ...provider.sendReasoningInMessages !== void 0 ? { sendReasoningInMessages: provider.sendReasoningInMessages } : {},
69
+ ...provider.authAdapter ? { authAdapter: provider.authAdapter } : {},
70
+ ...provider.transportAdapter ? { transportAdapter: provider.transportAdapter } : {},
71
+ ...provider.credentialRef ? { credentialRef: provider.credentialRef } : {}
72
+ }));
75
73
  var serverSchema = z.object({
76
74
  port: z.number().default(10369),
77
75
  host: z.string().default("127.0.0.1"),
@@ -371,4 +369,4 @@ export {
371
369
  removeProvider,
372
370
  activateProvider
373
371
  };
374
- //# sourceMappingURL=chunk-C372UH7N.js.map
372
+ //# sourceMappingURL=chunk-KSXCOHHW.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  getAllInstructions,
3
3
  getEnabledSkillMetadata
4
- } from "./chunk-BOSKQI62.js";
4
+ } from "./chunk-FF2EKUQO.js";
5
5
  import {
6
6
  buildTopLevelSystemPrompt
7
- } from "./chunk-XWNCKIPO.js";
7
+ } from "./chunk-HKD4IMOE.js";
8
8
  import {
9
9
  findAgentById,
10
10
  getRuntimeConfig,
11
11
  getSubAgents,
12
12
  loadAllAgentsDefault,
13
13
  resolveDefaultAgentId
14
- } from "./chunk-JNHKKUGJ.js";
14
+ } from "./chunk-BYSUSSSC.js";
15
15
  import {
16
16
  logger
17
17
  } from "./chunk-K44MW7JJ.js";
@@ -105,7 +105,7 @@ function resolveAgentDef(sessionManager, sessionId) {
105
105
  }
106
106
  async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName) {
107
107
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
108
- const { getToolRegistryForAgent } = await import("./tools-HTUTYMKI.js");
108
+ const { getToolRegistryForAgent } = await import("./tools-2B363F7L.js");
109
109
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
110
110
  const toolFingerprint = getToolFingerprint(tools);
111
111
  const allAgents = await loadAllAgentsDefault();
@@ -124,7 +124,7 @@ async function buildCachedPrompt(sessionManager, sessionId, agentDef, modelName)
124
124
  async function computeSessionHash(sessionManager, sessionId, modelName) {
125
125
  const { instructionContent, skills } = await loadSessionContext(sessionManager, sessionId);
126
126
  const agentDef = await resolveAgentDef(sessionManager, sessionId);
127
- const { getToolRegistryForAgent } = await import("./tools-HTUTYMKI.js");
127
+ const { getToolRegistryForAgent } = await import("./tools-2B363F7L.js");
128
128
  const tools = getToolRegistryForAgent(agentDef, sessionId).definitions;
129
129
  const toolFingerprint = getToolFingerprint(tools);
130
130
  return computeDynamicContextHash(instructionContent, skills, toolFingerprint, modelName);
@@ -148,4 +148,4 @@ export {
148
148
  computeSessionHash,
149
149
  applyDynamicContext
150
150
  };
151
- //# sourceMappingURL=chunk-Z56SEG4Z.js.map
151
+ //# sourceMappingURL=chunk-O2YSYW2F.js.map
@@ -37,7 +37,7 @@ Options:
37
37
  }
38
38
  async function runNetworkSetup(mode) {
39
39
  const { loadAuthConfig, saveAuthConfig, encryptPassword } = await import("./auth-YY5PJYSC.js");
40
- const { saveGlobalConfig } = await import("./config-TW5FHQEM.js");
40
+ const { saveGlobalConfig } = await import("./config-EAB3V4QK.js");
41
41
  const { getAuthKeyPath } = await import("./paths-F27V3S4I.js");
42
42
  const existingAuth = await loadAuthConfig(mode);
43
43
  if (existingAuth) {
@@ -104,7 +104,7 @@ async function runNetworkSetup(mode) {
104
104
  console.log("\u2713 Configuration saved!\n");
105
105
  }
106
106
  async function runConfig(mode) {
107
- const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-TW5FHQEM.js");
107
+ const { loadGlobalConfig, getActiveProvider, getDefaultModel } = await import("./config-EAB3V4QK.js");
108
108
  const { getGlobalConfigPath } = await import("./paths-F27V3S4I.js");
109
109
  const config = await loadGlobalConfig(mode);
110
110
  const configPath = getGlobalConfigPath(mode);
@@ -163,7 +163,7 @@ async function runCli(options) {
163
163
  break;
164
164
  }
165
165
  case "provider": {
166
- const { runProviderCommand } = await import("./provider-3R4X62LW.js");
166
+ const { runProviderCommand } = await import("./provider-PIRPN2CC.js");
167
167
  const [, subcommand] = positionals;
168
168
  await runProviderCommand(mode, subcommand);
169
169
  break;
@@ -200,7 +200,7 @@ async function runCli(options) {
200
200
  break;
201
201
  }
202
202
  case "update": {
203
- const { runUpdate } = await import("./update-MWPQNSEZ.js");
203
+ const { runUpdate } = await import("./update-IQMRYN7J.js");
204
204
  const code = await runUpdate();
205
205
  if (code !== 0) {
206
206
  process.exit(code);
@@ -208,12 +208,12 @@ async function runCli(options) {
208
208
  break;
209
209
  }
210
210
  default: {
211
- const { configFileExists } = await import("./config-TW5FHQEM.js");
211
+ const { configFileExists } = await import("./config-EAB3V4QK.js");
212
212
  const configExists = await configFileExists(mode);
213
213
  if (!configExists) {
214
214
  await runNetworkSetup(mode);
215
215
  }
216
- const { runServe } = await import("./serve-V7WQKJ52.js");
216
+ const { runServe } = await import("./serve-6DRHQLCG.js");
217
217
  const serveOptions = { mode };
218
218
  if (values.port) serveOptions.port = parseInt(values.port);
219
219
  if (values["no-browser"] === true) serveOptions.openBrowser = false;
@@ -225,4 +225,4 @@ async function runCli(options) {
225
225
  export {
226
226
  runCli
227
227
  };
228
- //# sourceMappingURL=chunk-4DTV5JVI.js.map
228
+ //# sourceMappingURL=chunk-ONONXV3N.js.map
@@ -122,6 +122,10 @@ function runMigrations(db2) {
122
122
  logger.info("Migrating sessions table: adding mcp_disabled_servers column");
123
123
  db2.exec(`ALTER TABLE sessions ADD COLUMN mcp_disabled_servers TEXT`);
124
124
  }
125
+ if (!columnNames.includes("is_favorite")) {
126
+ logger.info("Migrating sessions table: adding is_favorite column");
127
+ db2.exec(`ALTER TABLE sessions ADD COLUMN is_favorite INTEGER NOT NULL DEFAULT 0`);
128
+ }
125
129
  db2.exec(`
126
130
  CREATE TABLE IF NOT EXISTS events (
127
131
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -232,4 +236,4 @@ export {
232
236
  initDatabase,
233
237
  getDatabase
234
238
  };
235
- //# sourceMappingURL=chunk-LCQ5AN6Y.js.map
239
+ //# sourceMappingURL=chunk-PWXBIUEY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getProjectByWorkdir
3
- } from "./chunk-6FPGJR7O.js";
3
+ } from "./chunk-XQR76MQ5.js";
4
4
  import {
5
5
  logger
6
6
  } from "./chunk-K44MW7JJ.js";
@@ -343,4 +343,4 @@ export {
343
343
  startInspectProxy,
344
344
  stopAllInspectProxies
345
345
  };
346
- //# sourceMappingURL=chunk-33Q7LCVD.js.map
346
+ //# sourceMappingURL=chunk-R2MTWC7C.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateSessionMcpDisabledServers
3
- } from "./chunk-C5NQF2K4.js";
3
+ } from "./chunk-AZFZE36I.js";
4
4
  import {
5
5
  getDatabase
6
- } from "./chunk-LCQ5AN6Y.js";
6
+ } from "./chunk-PWXBIUEY.js";
7
7
 
8
8
  // src/server/mcp/session-overrides.ts
9
9
  var sessionOverrides = /* @__PURE__ */ new Map();
@@ -62,4 +62,4 @@ export {
62
62
  clearSessionOverrides,
63
63
  getAllSessionOverrides
64
64
  };
65
- //# sourceMappingURL=chunk-JDT63SSP.js.map
65
+ //# sourceMappingURL=chunk-SNLLOXCM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLLMClient
3
- } from "./chunk-ERYUSG5C.js";
3
+ } from "./chunk-43M7QZMX.js";
4
4
  import {
5
5
  getModelProfile
6
6
  } from "./chunk-V4IE7HJY.js";
@@ -245,8 +245,7 @@ async function fetchModelsWithContext(baseUrl, apiKey, backend) {
245
245
  if (lmStudioModels.length > 0) return lmStudioModels;
246
246
  logger.info("LM Studio native endpoint unavailable, falling back to /v1/models");
247
247
  }
248
- const isOpenCodeGo = baseUrl.includes("opencode.ai/zen/go");
249
- const url = isOpenCodeGo ? buildModelsUrl(baseUrl.replace("/zen/go", "/zen")) : buildModelsUrl(baseUrl);
248
+ const url = buildModelsUrl(baseUrl);
250
249
  logger.info("Fetching models via /v1/models", { url });
251
250
  const models = await fetchModelsFromBackend(url, apiKey);
252
251
  if (models.length === 0) return [];
@@ -804,4 +803,4 @@ export {
804
803
  parseDefaultModelSelection,
805
804
  createProviderManager
806
805
  };
807
- //# sourceMappingURL=chunk-FSYRANYR.js.map
806
+ //# sourceMappingURL=chunk-TCGWZBTS.js.map