openfox 1.5.2 → 1.5.3

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 (32) hide show
  1. package/dist/agent-defaults/builder.agent.md +1 -0
  2. package/dist/agent-defaults/planner.agent.md +1 -0
  3. package/dist/{auto-compaction-MNK2FZ6E.js → auto-compaction-DDQPVS7Z.js} +6 -4
  4. package/dist/{chat-handler-Y7KR2RLL.js → chat-handler-S3LRWAEV.js} +10 -8
  5. package/dist/chunk-574HZVLE.js +149 -0
  6. package/dist/{chunk-UBWZDTZ4.js → chunk-AL7KUHBF.js} +51 -14
  7. package/dist/{chunk-S4QKTRGJ.js → chunk-EBOKO2PW.js} +2 -2
  8. package/dist/chunk-JHL5ZO3K.js +156 -0
  9. package/dist/{chunk-6PV24MJB.js → chunk-KUHCFENT.js} +2 -2
  10. package/dist/{chunk-GXVA5W7Q.js → chunk-QJIHXG4P.js} +165 -4
  11. package/dist/{chunk-F7PUG5WA.js → chunk-TWUJFSH6.js} +3 -3
  12. package/dist/{chunk-TPT6HP4H.js → chunk-XQQ2BRJA.js} +1 -1
  13. package/dist/cli/dev.js +1 -1
  14. package/dist/cli/index.js +1 -1
  15. package/dist/manager-TMIDRUVA.js +20 -0
  16. package/dist/{orchestrator-QGFC5QB6.js → orchestrator-6VETL3Z7.js} +7 -5
  17. package/dist/package.json +1 -1
  18. package/dist/{processor-BFTXIEDV.js → processor-HYEPZECF.js} +4 -4
  19. package/dist/{protocol-WQENDK72.js → protocol-ODKD7QJO.js} +3 -3
  20. package/dist/{protocol-CLWtTnMd.d.ts → protocol-vX_YbJXE.d.ts} +40 -2
  21. package/dist/{serve-JJLKBQXS.js → serve-DCCIXC4Q.js} +9 -7
  22. package/dist/server/index.d.ts +1 -1
  23. package/dist/server/index.js +7 -5
  24. package/dist/shared/index.d.ts +2 -2
  25. package/dist/shared/index.js +1 -1
  26. package/dist/store-2IF3ZSLD.js +33 -0
  27. package/dist/{tools-MY4TPRP4.js → tools-XSK3J4II.js} +6 -4
  28. package/dist/web/assets/{index-xs6xUYKs.js → index-CglBHzrV.js} +62 -62
  29. package/dist/web/assets/{index-BnJ4NNAw.css → index-DteeMapx.css} +1 -1
  30. package/dist/web/index.html +2 -2
  31. package/dist/web/sw.js +1 -1
  32. package/package.json +1 -1
@@ -1,3 +1,15 @@
1
+ import {
2
+ createProcess,
3
+ getProcessLogs,
4
+ getProcessStatus,
5
+ getSessionProcesses,
6
+ startProcessCommand,
7
+ stopProcess
8
+ } from "./chunk-JHL5ZO3K.js";
9
+ import {
10
+ getMaxPerSession,
11
+ getSessionProcessCount
12
+ } from "./chunk-574HZVLE.js";
1
13
  import {
2
14
  streamWithSegments
3
15
  } from "./chunk-XFXOSPYH.js";
@@ -12,7 +24,7 @@ import {
12
24
  createChatToolOutputMessage,
13
25
  createChatVisionFallbackMessage,
14
26
  createQueueStateMessage
15
- } from "./chunk-S4QKTRGJ.js";
27
+ } from "./chunk-EBOKO2PW.js";
16
28
  import {
17
29
  AskUserInterrupt,
18
30
  askUserTool
@@ -3607,7 +3619,7 @@ var callSubAgentTool = {
3607
3619
  };
3608
3620
  }
3609
3621
  try {
3610
- const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-MY4TPRP4.js");
3622
+ const { getToolRegistryForAgent: getToolRegistryForAgent2 } = await import("./tools-XSK3J4II.js");
3611
3623
  const toolRegistry = getToolRegistryForAgent2(agentDef);
3612
3624
  const turnMetrics = new TurnMetrics();
3613
3625
  const result = await executeSubAgent({
@@ -4181,6 +4193,154 @@ var stepDoneTool = {
4181
4193
  }
4182
4194
  };
4183
4195
 
4196
+ // src/server/tools/background-process/index.ts
4197
+ var backgroundProcessTool = createTool(
4198
+ "background_process",
4199
+ {
4200
+ type: "function",
4201
+ function: {
4202
+ name: "background_process",
4203
+ description: `Start, stop, and monitor long-running background processes.
4204
+
4205
+ These processes run independently of agent turns and persist across session compaction. Processes are displayed in the right sidebar where you can view their logs and status.
4206
+
4207
+ **Actions:**
4208
+ - start: Launch a new background process (provide: name, command, cwd, timeout)
4209
+ - stop: Stop a running process and remove it from the sidebar
4210
+ - list: Show all processes for this session
4211
+ - status: Get detailed status of a specific process
4212
+ - logs: Retrieve process output with optional pagination`,
4213
+ parameters: {
4214
+ type: "object",
4215
+ properties: {
4216
+ action: {
4217
+ type: "string",
4218
+ enum: ["start", "stop", "list", "status", "logs"],
4219
+ description: "The action to perform on background processes"
4220
+ },
4221
+ name: {
4222
+ type: "string",
4223
+ description: "Display name for the process. Auto-generated from command if not provided."
4224
+ },
4225
+ command: {
4226
+ type: "string",
4227
+ description: 'Shell command to execute. Required for "start" action.'
4228
+ },
4229
+ cwd: {
4230
+ type: "string",
4231
+ description: "Working directory. Defaults to session workdir."
4232
+ },
4233
+ timeout: {
4234
+ type: "number",
4235
+ description: "Maximum runtime in milliseconds. Process will be terminated after this duration."
4236
+ },
4237
+ processId: {
4238
+ type: "string",
4239
+ description: "Process ID. Required for stop, status, and logs actions."
4240
+ },
4241
+ since: {
4242
+ type: "number",
4243
+ description: "Return logs after this offset. Default: 0"
4244
+ },
4245
+ maxLines: {
4246
+ type: "number",
4247
+ description: "Maximum lines to return. Default: 500, max: 2000"
4248
+ }
4249
+ },
4250
+ required: ["action"],
4251
+ dependentRequired: {
4252
+ start: ["command"],
4253
+ stop: ["processId"],
4254
+ status: ["processId"],
4255
+ logs: ["processId"]
4256
+ }
4257
+ }
4258
+ }
4259
+ },
4260
+ async (args, context, helpers) => {
4261
+ const sessionId = context.sessionId;
4262
+ const cwd = args.cwd ?? context.workdir;
4263
+ switch (args.action) {
4264
+ case "start": {
4265
+ const count = getSessionProcessCount(sessionId);
4266
+ const maxPerSession = getMaxPerSession();
4267
+ if (count >= maxPerSession) {
4268
+ return helpers.error(`Maximum number of background processes (${maxPerSession}) reached. Stop existing processes before starting new ones.`);
4269
+ }
4270
+ const name = args.name ?? args.command?.split(" ")[0] ?? "process";
4271
+ const process2 = createProcess(sessionId, name, args.command, cwd, args.timeout);
4272
+ if (!process2) {
4273
+ return helpers.error(`Failed to create process. Maximum limit may have been reached.`);
4274
+ }
4275
+ const pid = startProcessCommand(process2.id, sessionId, args.command, cwd);
4276
+ if (!pid) {
4277
+ return helpers.error(`Failed to start process.`);
4278
+ }
4279
+ return helpers.success(JSON.stringify({
4280
+ processId: process2.id,
4281
+ name: process2.name,
4282
+ pid,
4283
+ status: "running",
4284
+ maxReached: count + 1 >= maxPerSession
4285
+ }, null, 2));
4286
+ }
4287
+ case "stop": {
4288
+ const proc = getProcessStatus(args.processId, sessionId);
4289
+ if (!proc) {
4290
+ return helpers.error(`Process not found: ${args.processId}`);
4291
+ }
4292
+ if (proc.status !== "running") {
4293
+ return helpers.error(`Process is not running (status: ${proc.status}). Cannot stop.`);
4294
+ }
4295
+ await stopProcess(args.processId, sessionId);
4296
+ return helpers.success(JSON.stringify({
4297
+ processId: args.processId,
4298
+ status: "removed"
4299
+ }, null, 2));
4300
+ }
4301
+ case "list": {
4302
+ const processes = getSessionProcesses(sessionId);
4303
+ const maxPerSession = getMaxPerSession();
4304
+ return helpers.success(JSON.stringify({
4305
+ processes,
4306
+ maxPerSession,
4307
+ currentCount: processes.filter((p) => p.status !== "exited").length
4308
+ }, null, 2));
4309
+ }
4310
+ case "status": {
4311
+ const proc = getProcessStatus(args.processId, sessionId);
4312
+ if (!proc) {
4313
+ return helpers.error(`Process not found: ${args.processId}`);
4314
+ }
4315
+ const uptime = proc.startedAt ? Date.now() - proc.startedAt : null;
4316
+ return helpers.success(JSON.stringify({
4317
+ process: proc,
4318
+ uptime
4319
+ }, null, 2));
4320
+ }
4321
+ case "logs": {
4322
+ const proc = getProcessStatus(args.processId, sessionId);
4323
+ if (!proc) {
4324
+ return helpers.error(`Process not found: ${args.processId}`);
4325
+ }
4326
+ const since = args.since ?? 0;
4327
+ const maxLines = Math.min(args.maxLines ?? 500, 2e3);
4328
+ const { lines, totalLines, nextOffset, hasMore } = getProcessLogs(args.processId, since, maxLines);
4329
+ return helpers.success(JSON.stringify({
4330
+ processId: args.processId,
4331
+ lines,
4332
+ totalLines,
4333
+ nextOffset,
4334
+ hasMore,
4335
+ truncated: hasMore
4336
+ }, null, 2));
4337
+ }
4338
+ default:
4339
+ return helpers.error(`Unknown action: ${args.action}`);
4340
+ }
4341
+ }
4342
+ );
4343
+
4184
4344
  // src/server/tools/index.ts
4185
4345
  function parseToolPermissions(allowedTools) {
4186
4346
  const result = {};
@@ -4315,7 +4475,8 @@ function getAllToolsMap() {
4315
4475
  returnValueTool,
4316
4476
  webFetchTool,
4317
4477
  devServerTool,
4318
- stepDoneTool
4478
+ stepDoneTool,
4479
+ backgroundProcessTool
4319
4480
  ].map((t) => [t.name, t])
4320
4481
  ]);
4321
4482
  }
@@ -4590,4 +4751,4 @@ export {
4590
4751
  getToolRegistryForAgent,
4591
4752
  createToolRegistry
4592
4753
  };
4593
- //# sourceMappingURL=chunk-GXVA5W7Q.js.map
4754
+ //# sourceMappingURL=chunk-QJIHXG4P.js.map
@@ -13,7 +13,7 @@ import {
13
13
  getToolRegistryForAgent,
14
14
  loadAllAgentsDefault,
15
15
  runTopLevelAgentLoop
16
- } from "./chunk-GXVA5W7Q.js";
16
+ } from "./chunk-QJIHXG4P.js";
17
17
  import {
18
18
  getCurrentContextWindowId,
19
19
  getEventStore
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-WQ4W5H6A.js";
24
24
  import {
25
25
  createChatMessageMessage
26
- } from "./chunk-S4QKTRGJ.js";
26
+ } from "./chunk-EBOKO2PW.js";
27
27
  import {
28
28
  logger
29
29
  } from "./chunk-PNBH3RAX.js";
@@ -311,4 +311,4 @@ export {
311
311
  runBuilderTurn,
312
312
  runVerifierTurn
313
313
  };
314
- //# sourceMappingURL=chunk-F7PUG5WA.js.map
314
+ //# sourceMappingURL=chunk-TWUJFSH6.js.map
@@ -26,4 +26,4 @@ export {
26
26
  isClientMessage,
27
27
  isServerMessage
28
28
  };
29
- //# sourceMappingURL=chunk-TPT6HP4H.js.map
29
+ //# sourceMappingURL=chunk-XQQ2BRJA.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-6PV24MJB.js";
4
+ } from "../chunk-KUHCFENT.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-PNBH3RAX.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-6PV24MJB.js";
4
+ } from "../chunk-KUHCFENT.js";
5
5
  import {
6
6
  logger
7
7
  } from "../chunk-PNBH3RAX.js";
@@ -0,0 +1,20 @@
1
+ import {
2
+ createProcess,
3
+ getProcessLogs,
4
+ getProcessStatus,
5
+ getSessionProcesses,
6
+ onProcessEvent,
7
+ startProcessCommand,
8
+ stopProcess
9
+ } from "./chunk-JHL5ZO3K.js";
10
+ import "./chunk-574HZVLE.js";
11
+ export {
12
+ createProcess,
13
+ getProcessLogs,
14
+ getProcessStatus,
15
+ getSessionProcesses,
16
+ onProcessEvent,
17
+ startProcessCommand,
18
+ stopProcess
19
+ };
20
+ //# sourceMappingURL=manager-TMIDRUVA.js.map
@@ -3,7 +3,7 @@ import {
3
3
  runBuilderTurn,
4
4
  runChatTurn,
5
5
  runVerifierTurn
6
- } from "./chunk-F7PUG5WA.js";
6
+ } from "./chunk-TWUJFSH6.js";
7
7
  import {
8
8
  TurnMetrics,
9
9
  createChatDoneEvent,
@@ -11,16 +11,18 @@ import {
11
11
  createMessageStartEvent,
12
12
  createToolCallEvent,
13
13
  createToolResultEvent
14
- } from "./chunk-GXVA5W7Q.js";
14
+ } from "./chunk-QJIHXG4P.js";
15
+ import "./chunk-JHL5ZO3K.js";
16
+ import "./chunk-574HZVLE.js";
15
17
  import "./chunk-XFXOSPYH.js";
16
18
  import "./chunk-NW7PIZH3.js";
17
19
  import "./chunk-WQ4W5H6A.js";
18
- import "./chunk-S4QKTRGJ.js";
20
+ import "./chunk-EBOKO2PW.js";
19
21
  import "./chunk-22CTURMH.js";
20
22
  import "./chunk-7IOZFJBW.js";
21
23
  import "./chunk-XKFPU2FA.js";
22
24
  import "./chunk-3EHGGBWE.js";
23
- import "./chunk-TPT6HP4H.js";
25
+ import "./chunk-XQQ2BRJA.js";
24
26
  import "./chunk-R4HADRYO.js";
25
27
  import "./chunk-TVQOONDR.js";
26
28
  import "./chunk-PNBH3RAX.js";
@@ -36,4 +38,4 @@ export {
36
38
  runChatTurn,
37
39
  runVerifierTurn
38
40
  };
39
- //# sourceMappingURL=orchestrator-QGFC5QB6.js.map
41
+ //# sourceMappingURL=orchestrator-6VETL3Z7.js.map
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openfox",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "description": "Local-LLM-first agentic coding assistant",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,9 +15,9 @@ import {
15
15
  createContextStateMessage,
16
16
  createSessionRunningMessage,
17
17
  createSessionStateMessage
18
- } from "./chunk-S4QKTRGJ.js";
18
+ } from "./chunk-EBOKO2PW.js";
19
19
  import "./chunk-3EHGGBWE.js";
20
- import "./chunk-TPT6HP4H.js";
20
+ import "./chunk-XQQ2BRJA.js";
21
21
  import "./chunk-TVQOONDR.js";
22
22
  import {
23
23
  logger
@@ -188,7 +188,7 @@ var QueueProcessor = class {
188
188
  backend: provider?.backend ?? llmClient.getBackend(),
189
189
  model: llmClient.getModel()
190
190
  };
191
- const { runChatTurn } = await import("./orchestrator-QGFC5QB6.js");
191
+ const { runChatTurn } = await import("./orchestrator-6VETL3Z7.js");
192
192
  runChatTurn({
193
193
  sessionManager,
194
194
  sessionId,
@@ -233,4 +233,4 @@ var QueueProcessor = class {
233
233
  export {
234
234
  QueueProcessor
235
235
  };
236
- //# sourceMappingURL=processor-BFTXIEDV.js.map
236
+ //# sourceMappingURL=processor-HYEPZECF.js.map
@@ -40,8 +40,8 @@ import {
40
40
  parseClientMessage,
41
41
  serializeServerMessage,
42
42
  storedEventToServerMessage
43
- } from "./chunk-S4QKTRGJ.js";
44
- import "./chunk-TPT6HP4H.js";
43
+ } from "./chunk-EBOKO2PW.js";
44
+ import "./chunk-XQQ2BRJA.js";
45
45
  export {
46
46
  createChatAskUserMessage,
47
47
  createChatDeltaMessage,
@@ -85,4 +85,4 @@ export {
85
85
  serializeServerMessage,
86
86
  storedEventToServerMessage
87
87
  };
88
- //# sourceMappingURL=protocol-WQENDK72.js.map
88
+ //# sourceMappingURL=protocol-ODKD7QJO.js.map
@@ -510,7 +510,7 @@ interface QueuedMessage {
510
510
  queuedAt: string;
511
511
  messageKind?: string;
512
512
  }
513
- type ServerMessageType = 'project.state' | 'project.list' | 'project.deleted' | 'session.state' | 'session.list' | 'session.deleted' | 'session.deletedAll' | 'session.running' | 'session.name_generated' | 'chat.delta' | 'chat.thinking' | 'chat.tool_preparing' | 'chat.tool_call' | 'chat.tool_output' | 'chat.tool_result' | 'chat.todo' | 'chat.summary' | 'chat.progress' | 'chat.format_retry' | 'chat.message' | 'chat.message_updated' | 'chat.done' | 'chat.vision_fallback' | 'chat.error' | 'chat.path_confirmation' | 'chat.ask_user' | 'mode.changed' | 'phase.changed' | 'task.completed' | 'criteria.updated' | 'context.state' | 'settings.value' | 'provider.changed' | 'queue.state' | 'devServer.output' | 'devServer.state' | 'lsp.diagnostics' | 'error' | 'ack';
513
+ type ServerMessageType = 'project.state' | 'project.list' | 'project.deleted' | 'session.state' | 'session.list' | 'session.deleted' | 'session.deletedAll' | 'session.running' | 'session.name_generated' | 'chat.delta' | 'chat.thinking' | 'chat.tool_preparing' | 'chat.tool_call' | 'chat.tool_output' | 'chat.tool_result' | 'chat.todo' | 'chat.summary' | 'chat.progress' | 'chat.format_retry' | 'chat.message' | 'chat.message_updated' | 'chat.done' | 'chat.vision_fallback' | 'chat.error' | 'chat.path_confirmation' | 'chat.ask_user' | 'mode.changed' | 'phase.changed' | 'task.completed' | 'criteria.updated' | 'context.state' | 'settings.value' | 'provider.changed' | 'queue.state' | 'devServer.output' | 'devServer.state' | 'backgroundProcess.started' | 'backgroundProcess.output' | 'backgroundProcess.exited' | 'backgroundProcess.removed' | 'lsp.diagnostics' | 'error' | 'ack';
514
514
  interface ServerMessage<T = unknown> {
515
515
  id?: string;
516
516
  type: ServerMessageType;
@@ -694,6 +694,44 @@ interface DevServerStatePayload {
694
694
  state: 'off' | 'running' | 'warning' | 'error';
695
695
  errorMessage?: string;
696
696
  }
697
+ interface BackgroundProcessStartedPayload {
698
+ processId: string;
699
+ name: string;
700
+ pid: number;
701
+ status: BackgroundProcessStatus;
702
+ }
703
+ interface BackgroundProcessOutputPayload {
704
+ processId: string;
705
+ stream: 'stdout' | 'stderr';
706
+ content: string;
707
+ }
708
+ interface BackgroundProcessExitedPayload {
709
+ processId: string;
710
+ exitCode: number | null;
711
+ }
712
+ interface BackgroundProcessRemovedPayload {
713
+ processId: string;
714
+ }
715
+ type BackgroundProcessStatus = 'pending' | 'starting' | 'running' | 'stopping' | 'exited';
716
+ interface BackgroundProcess {
717
+ id: string;
718
+ sessionId: string;
719
+ name: string;
720
+ command: string;
721
+ cwd: string;
722
+ pid: number | null;
723
+ status: BackgroundProcessStatus;
724
+ exitCode: number | null;
725
+ createdAt: number;
726
+ startedAt: number | null;
727
+ endedAt: number | null;
728
+ }
729
+ interface LogLine {
730
+ offset: number;
731
+ content: string;
732
+ timestamp: number;
733
+ stream: 'stdout' | 'stderr';
734
+ }
697
735
  interface LspDiagnosticsPayload {
698
736
  path: string;
699
737
  diagnostics: Diagnostic[];
@@ -791,4 +829,4 @@ interface QueueCancelledEvent {
791
829
  }
792
830
  type QueueEvent = QueueAddedEvent | QueueDrainedEvent | QueueCancelledEvent;
793
831
 
794
- export { type MessageSegment as $, type AgentEvent as A, type ContextStatePayload as B, type CallStatsDataPoint as C, type ContextWindow as D, type CriteriaEditPayload as E, type CriteriaUpdatedPayload as F, type Criterion as G, type CriterionAttempt as H, type CriterionStatus as I, type CriterionValidation as J, type DangerLevel as K, type DevServerOutputPayload as L, type Message as M, type DevServerStatePayload as N, type Diagnostic as O, type EditContextEdit as P, type EditContextLine as Q, type EditContextRegion as R, type SessionStats as S, type ErrorPayload as T, type ExecutionState as U, type FileReadEntry as V, type InjectedFile as W, type LLMCallStats as X, type LlmBackend as Y, type LspDiagnosticsPayload as Z, type MessageRole as _, type AskAnswerPayload as a, type MessageStats as a0, type ModeChangedPayload as a1, type ModeSwitchPayload as a2, type ModelConfig as a3, type ModelSessionStats as a4, type PathConfirmPayload as a5, type PathConfirmationReason as a6, type PendingPathConfirmationPayload as a7, type PhaseChangedPayload as a8, type PreparingToolCall as a9, type SessionLoadPayload as aA, type SessionMetadata as aB, type SessionMode as aC, type SessionNameGeneratedPayload as aD, type SessionPhase as aE, type SessionRunningPayload as aF, type SessionStatePayload as aG, type SessionSummary as aH, type StatsDataPoint as aI, type StatsIdentity as aJ, type TaskCompletedPayload as aK, type Todo as aL, type ToolCall as aM, type ToolMode as aN, type ToolName as aO, type ToolResult as aP, type ValidationResult as aQ, createClientMessage as aR, createServerMessage as aS, isClientMessage as aT, isServerMessage as aU, type Project as aa, type ProjectDeletedPayload as ab, type ProjectListPayload as ac, type ProjectStatePayload as ad, type PromptContext as ae, type PromptContextMessage as af, type PromptContextTool as ag, type PromptRequestOptions as ah, type Provider as ai, type ProviderBackend as aj, type ProviderChangedPayload as ak, type QueueAddedEvent as al, type QueueAsapPayload as am, type QueueCancelPayload as an, type QueueCancelledEvent as ao, type QueueCompletionPayload as ap, type QueueDrainedEvent as aq, type QueueEvent as ar, type QueueEventType as as, type QueueStatePayload as at, type QueuedMessage as au, type RecentUserPrompt as av, type ServerMessage as aw, type ServerMessageType as ax, type Session as ay, type SessionListPayload as az, type AskUserEvent as b, type Attachment as c, type ChatAskUserPayload as d, type ChatDeltaPayload as e, type ChatDonePayload as f, type ChatErrorPayload as g, type ChatFormatRetryPayload as h, type ChatMessagePayload as i, type ChatMessageUpdatedPayload as j, type ChatPathConfirmationPayload as k, type ChatProgressPayload as l, type ChatSendPayload as m, type ChatSummaryPayload as n, type ChatThinkingPayload as o, type ChatTodoPayload as p, type ChatToolCallPayload as q, type ChatToolOutputPayload as r, type ChatToolPreparingPayload as s, type ChatToolResultPayload as t, type ChatVisionFallbackPayload as u, type ClientMessage as v, type ClientMessageType as w, type Config as x, type ContextCompactionEvent as y, type ContextState as z };
832
+ export { type FileReadEntry as $, type AgentEvent as A, type BackgroundProcess as B, type CallStatsDataPoint as C, type ClientMessage as D, type ClientMessageType as E, type Config as F, type ContextCompactionEvent as G, type ContextState as H, type ContextStatePayload as I, type ContextWindow as J, type CriteriaEditPayload as K, type CriteriaUpdatedPayload as L, type Message as M, type Criterion as N, type CriterionAttempt as O, type CriterionStatus as P, type CriterionValidation as Q, type DangerLevel as R, type SessionStats as S, type DevServerOutputPayload as T, type DevServerStatePayload as U, type Diagnostic as V, type EditContextEdit as W, type EditContextLine as X, type EditContextRegion as Y, type ErrorPayload as Z, type ExecutionState as _, type AskAnswerPayload as a, isServerMessage as a$, type InjectedFile as a0, type LLMCallStats as a1, type LlmBackend as a2, type LogLine as a3, type LspDiagnosticsPayload as a4, type MessageRole as a5, type MessageSegment as a6, type MessageStats as a7, type ModeChangedPayload as a8, type ModeSwitchPayload as a9, type QueueStatePayload as aA, type QueuedMessage as aB, type RecentUserPrompt as aC, type ServerMessage as aD, type ServerMessageType as aE, type Session as aF, type SessionListPayload as aG, type SessionLoadPayload as aH, type SessionMetadata as aI, type SessionMode as aJ, type SessionNameGeneratedPayload as aK, type SessionPhase as aL, type SessionRunningPayload as aM, type SessionStatePayload as aN, type SessionSummary as aO, type StatsDataPoint as aP, type StatsIdentity as aQ, type TaskCompletedPayload as aR, type Todo as aS, type ToolCall as aT, type ToolMode as aU, type ToolName as aV, type ToolResult as aW, type ValidationResult as aX, createClientMessage as aY, createServerMessage as aZ, isClientMessage as a_, type ModelConfig as aa, type ModelSessionStats as ab, type PathConfirmPayload as ac, type PathConfirmationReason as ad, type PendingPathConfirmationPayload as ae, type PhaseChangedPayload as af, type PreparingToolCall as ag, type Project as ah, type ProjectDeletedPayload as ai, type ProjectListPayload as aj, type ProjectStatePayload as ak, type PromptContext as al, type PromptContextMessage as am, type PromptContextTool as an, type PromptRequestOptions as ao, type Provider as ap, type ProviderBackend as aq, type ProviderChangedPayload as ar, type QueueAddedEvent as as, type QueueAsapPayload as at, type QueueCancelPayload as au, type QueueCancelledEvent as av, type QueueCompletionPayload as aw, type QueueDrainedEvent as ax, type QueueEvent as ay, type QueueEventType as az, type AskUserEvent as b, type Attachment as c, type BackgroundProcessExitedPayload as d, type BackgroundProcessOutputPayload as e, type BackgroundProcessRemovedPayload as f, type BackgroundProcessStartedPayload as g, type BackgroundProcessStatus as h, type ChatAskUserPayload as i, type ChatDeltaPayload as j, type ChatDonePayload as k, type ChatErrorPayload as l, type ChatFormatRetryPayload as m, type ChatMessagePayload as n, type ChatMessageUpdatedPayload as o, type ChatPathConfirmationPayload as p, type ChatProgressPayload as q, type ChatSendPayload as r, type ChatSummaryPayload as s, type ChatThinkingPayload as t, type ChatTodoPayload as u, type ChatToolCallPayload as v, type ChatToolOutputPayload as w, type ChatToolPreparingPayload as x, type ChatToolResultPayload as y, type ChatVisionFallbackPayload as z };
@@ -5,22 +5,24 @@ import {
5
5
  } from "./chunk-ICPQDI4L.js";
6
6
  import {
7
7
  createServer
8
- } from "./chunk-UBWZDTZ4.js";
9
- import "./chunk-F7PUG5WA.js";
10
- import "./chunk-GXVA5W7Q.js";
8
+ } from "./chunk-AL7KUHBF.js";
11
9
  import "./chunk-QDEKU5RL.js";
10
+ import "./chunk-TWUJFSH6.js";
11
+ import "./chunk-QJIHXG4P.js";
12
+ import "./chunk-JHL5ZO3K.js";
13
+ import "./chunk-574HZVLE.js";
12
14
  import "./chunk-PJRARONG.js";
13
15
  import "./chunk-UNCPQRFP.js";
14
16
  import "./chunk-XFXOSPYH.js";
15
17
  import "./chunk-NW7PIZH3.js";
16
18
  import "./chunk-WQ4W5H6A.js";
17
- import "./chunk-S4QKTRGJ.js";
19
+ import "./chunk-EBOKO2PW.js";
18
20
  import "./chunk-22CTURMH.js";
19
21
  import "./chunk-7IOZFJBW.js";
20
22
  import "./chunk-XKFPU2FA.js";
21
23
  import "./chunk-3EHGGBWE.js";
22
24
  import "./chunk-QY7BMXWT.js";
23
- import "./chunk-TPT6HP4H.js";
25
+ import "./chunk-XQQ2BRJA.js";
24
26
  import {
25
27
  ensureDataDirExists,
26
28
  getDatabasePath,
@@ -39,7 +41,7 @@ import os from "os";
39
41
  import { statSync } from "fs";
40
42
 
41
43
  // src/constants.ts
42
- var VERSION = "1.5.2";
44
+ var VERSION = "1.5.3";
43
45
 
44
46
  // src/server/utils/network.ts
45
47
  function getNetworkInterfaces() {
@@ -190,4 +192,4 @@ async function runServe(options) {
190
192
  export {
191
193
  runServe
192
194
  };
193
- //# sourceMappingURL=serve-JJLKBQXS.js.map
195
+ //# sourceMappingURL=serve-DCCIXC4Q.js.map
@@ -1,4 +1,4 @@
1
- import { aM as ToolCall, c as Attachment, O as Diagnostic, ai as Provider, a3 as ModelConfig, ay as Session, aH as SessionSummary, aa as Project, aC as SessionMode, aE as SessionPhase, M as Message, G as Criterion, I as CriterionStatus, au as QueuedMessage, z as ContextState, K as DangerLevel$1, aw as ServerMessage, aJ as StatsIdentity, aP as ToolResult, x as Config } from '../protocol-CLWtTnMd.js';
1
+ import { aT as ToolCall, c as Attachment, V as Diagnostic, ap as Provider, aa as ModelConfig, aF as Session, aO as SessionSummary, ah as Project, aJ as SessionMode, aL as SessionPhase, M as Message, N as Criterion, P as CriterionStatus, aB as QueuedMessage, H as ContextState, R as DangerLevel$1, aD as ServerMessage, aQ as StatsIdentity, aW as ToolResult, F as Config } from '../protocol-vX_YbJXE.js';
2
2
  import { Server } from 'node:http';
3
3
 
4
4
  interface LLMMessage {
@@ -1,22 +1,24 @@
1
1
  import {
2
2
  createServer,
3
3
  createServerHandle
4
- } from "../chunk-UBWZDTZ4.js";
5
- import "../chunk-F7PUG5WA.js";
6
- import "../chunk-GXVA5W7Q.js";
4
+ } from "../chunk-AL7KUHBF.js";
7
5
  import "../chunk-QDEKU5RL.js";
6
+ import "../chunk-TWUJFSH6.js";
7
+ import "../chunk-QJIHXG4P.js";
8
+ import "../chunk-JHL5ZO3K.js";
9
+ import "../chunk-574HZVLE.js";
8
10
  import "../chunk-PJRARONG.js";
9
11
  import "../chunk-UNCPQRFP.js";
10
12
  import "../chunk-XFXOSPYH.js";
11
13
  import "../chunk-NW7PIZH3.js";
12
14
  import "../chunk-WQ4W5H6A.js";
13
- import "../chunk-S4QKTRGJ.js";
15
+ import "../chunk-EBOKO2PW.js";
14
16
  import "../chunk-22CTURMH.js";
15
17
  import "../chunk-7IOZFJBW.js";
16
18
  import "../chunk-XKFPU2FA.js";
17
19
  import "../chunk-3EHGGBWE.js";
18
20
  import "../chunk-QY7BMXWT.js";
19
- import "../chunk-TPT6HP4H.js";
21
+ import "../chunk-XQQ2BRJA.js";
20
22
  import "../chunk-R4HADRYO.js";
21
23
  import "../chunk-TVQOONDR.js";
22
24
  import "../chunk-LJRH7ICU.js";
@@ -1,5 +1,5 @@
1
- import { M as Message, S as SessionStats } from '../protocol-CLWtTnMd.js';
2
- export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, C as CallStatsDataPoint, d as ChatAskUserPayload, e as ChatDeltaPayload, f as ChatDonePayload, g as ChatErrorPayload, h as ChatFormatRetryPayload, i as ChatMessagePayload, j as ChatMessageUpdatedPayload, k as ChatPathConfirmationPayload, l as ChatProgressPayload, m as ChatSendPayload, n as ChatSummaryPayload, o as ChatThinkingPayload, p as ChatTodoPayload, q as ChatToolCallPayload, r as ChatToolOutputPayload, s as ChatToolPreparingPayload, t as ChatToolResultPayload, u as ChatVisionFallbackPayload, v as ClientMessage, w as ClientMessageType, x as Config, y as ContextCompactionEvent, z as ContextState, B as ContextStatePayload, D as ContextWindow, E as CriteriaEditPayload, F as CriteriaUpdatedPayload, G as Criterion, H as CriterionAttempt, I as CriterionStatus, J as CriterionValidation, K as DangerLevel, L as DevServerOutputPayload, N as DevServerStatePayload, O as Diagnostic, P as EditContextEdit, Q as EditContextLine, R as EditContextRegion, T as ErrorPayload, U as ExecutionState, V as FileReadEntry, W as InjectedFile, X as LLMCallStats, Y as LlmBackend, Z as LspDiagnosticsPayload, _ as MessageRole, $ as MessageSegment, a0 as MessageStats, a1 as ModeChangedPayload, a2 as ModeSwitchPayload, a3 as ModelConfig, a4 as ModelSessionStats, a5 as PathConfirmPayload, a6 as PathConfirmationReason, a7 as PendingPathConfirmationPayload, a8 as PhaseChangedPayload, a9 as PreparingToolCall, aa as Project, ab as ProjectDeletedPayload, ac as ProjectListPayload, ad as ProjectStatePayload, ae as PromptContext, af as PromptContextMessage, ag as PromptContextTool, ah as PromptRequestOptions, ai as Provider, aj as ProviderBackend, ak as ProviderChangedPayload, al as QueueAddedEvent, am as QueueAsapPayload, an as QueueCancelPayload, ao as QueueCancelledEvent, ap as QueueCompletionPayload, aq as QueueDrainedEvent, ar as QueueEvent, as as QueueEventType, at as QueueStatePayload, au as QueuedMessage, av as RecentUserPrompt, aw as ServerMessage, ax as ServerMessageType, ay as Session, az as SessionListPayload, aA as SessionLoadPayload, aB as SessionMetadata, aC as SessionMode, aD as SessionNameGeneratedPayload, aE as SessionPhase, aF as SessionRunningPayload, aG as SessionStatePayload, aH as SessionSummary, aI as StatsDataPoint, aJ as StatsIdentity, aK as TaskCompletedPayload, aL as Todo, aM as ToolCall, aN as ToolMode, aO as ToolName, aP as ToolResult, aQ as ValidationResult, aR as createClientMessage, aS as createServerMessage, aT as isClientMessage, aU as isServerMessage } from '../protocol-CLWtTnMd.js';
1
+ import { M as Message, S as SessionStats } from '../protocol-vX_YbJXE.js';
2
+ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, B as BackgroundProcess, d as BackgroundProcessExitedPayload, e as BackgroundProcessOutputPayload, f as BackgroundProcessRemovedPayload, g as BackgroundProcessStartedPayload, h as BackgroundProcessStatus, C as CallStatsDataPoint, i as ChatAskUserPayload, j as ChatDeltaPayload, k as ChatDonePayload, l as ChatErrorPayload, m as ChatFormatRetryPayload, n as ChatMessagePayload, o as ChatMessageUpdatedPayload, p as ChatPathConfirmationPayload, q as ChatProgressPayload, r as ChatSendPayload, s as ChatSummaryPayload, t as ChatThinkingPayload, u as ChatTodoPayload, v as ChatToolCallPayload, w as ChatToolOutputPayload, x as ChatToolPreparingPayload, y as ChatToolResultPayload, z as ChatVisionFallbackPayload, D as ClientMessage, E as ClientMessageType, F as Config, G as ContextCompactionEvent, H as ContextState, I as ContextStatePayload, J as ContextWindow, K as CriteriaEditPayload, L as CriteriaUpdatedPayload, N as Criterion, O as CriterionAttempt, P as CriterionStatus, Q as CriterionValidation, R as DangerLevel, T as DevServerOutputPayload, U as DevServerStatePayload, V as Diagnostic, W as EditContextEdit, X as EditContextLine, Y as EditContextRegion, Z as ErrorPayload, _ as ExecutionState, $ as FileReadEntry, a0 as InjectedFile, a1 as LLMCallStats, a2 as LlmBackend, a3 as LogLine, a4 as LspDiagnosticsPayload, a5 as MessageRole, a6 as MessageSegment, a7 as MessageStats, a8 as ModeChangedPayload, a9 as ModeSwitchPayload, aa as ModelConfig, ab as ModelSessionStats, ac as PathConfirmPayload, ad as PathConfirmationReason, ae as PendingPathConfirmationPayload, af as PhaseChangedPayload, ag as PreparingToolCall, ah as Project, ai as ProjectDeletedPayload, aj as ProjectListPayload, ak as ProjectStatePayload, al as PromptContext, am as PromptContextMessage, an as PromptContextTool, ao as PromptRequestOptions, ap as Provider, aq as ProviderBackend, ar as ProviderChangedPayload, as as QueueAddedEvent, at as QueueAsapPayload, au as QueueCancelPayload, av as QueueCancelledEvent, aw as QueueCompletionPayload, ax as QueueDrainedEvent, ay as QueueEvent, az as QueueEventType, aA as QueueStatePayload, aB as QueuedMessage, aC as RecentUserPrompt, aD as ServerMessage, aE as ServerMessageType, aF as Session, aG as SessionListPayload, aH as SessionLoadPayload, aI as SessionMetadata, aJ as SessionMode, aK as SessionNameGeneratedPayload, aL as SessionPhase, aM as SessionRunningPayload, aN as SessionStatePayload, aO as SessionSummary, aP as StatsDataPoint, aQ as StatsIdentity, aR as TaskCompletedPayload, aS as Todo, aT as ToolCall, aU as ToolMode, aV as ToolName, aW as ToolResult, aX as ValidationResult, aY as createClientMessage, aZ as createServerMessage, a_ as isClientMessage, a$ as isServerMessage } from '../protocol-vX_YbJXE.js';
3
3
 
4
4
  /**
5
5
  * Session stats computation - aggregates response-level MessageStats from
@@ -6,7 +6,7 @@ import {
6
6
  createServerMessage,
7
7
  isClientMessage,
8
8
  isServerMessage
9
- } from "../chunk-TPT6HP4H.js";
9
+ } from "../chunk-XQQ2BRJA.js";
10
10
  export {
11
11
  computeSessionStats,
12
12
  createClientMessage,
@@ -0,0 +1,33 @@
1
+ import {
2
+ appendLog,
3
+ cleanupAllProcesses,
4
+ clearLogs,
5
+ createProcess,
6
+ getLogs,
7
+ getLogsPaginated,
8
+ getMaxPerSession,
9
+ getProcess,
10
+ getProcessById,
11
+ getSessionProcessCount,
12
+ getSessionProcesses,
13
+ removeProcess,
14
+ startProcess,
15
+ updateStatus
16
+ } from "./chunk-574HZVLE.js";
17
+ export {
18
+ appendLog,
19
+ cleanupAllProcesses,
20
+ clearLogs,
21
+ createProcess,
22
+ getLogs,
23
+ getLogsPaginated,
24
+ getMaxPerSession,
25
+ getProcess,
26
+ getProcessById,
27
+ getSessionProcessCount,
28
+ getSessionProcesses,
29
+ removeProcess,
30
+ startProcess,
31
+ updateStatus
32
+ };
33
+ //# sourceMappingURL=store-2IF3ZSLD.js.map
@@ -11,11 +11,13 @@ import {
11
11
  requestPathAccess,
12
12
  stepDoneTool,
13
13
  validateToolAction
14
- } from "./chunk-GXVA5W7Q.js";
14
+ } from "./chunk-QJIHXG4P.js";
15
+ import "./chunk-JHL5ZO3K.js";
16
+ import "./chunk-574HZVLE.js";
15
17
  import "./chunk-XFXOSPYH.js";
16
18
  import "./chunk-NW7PIZH3.js";
17
19
  import "./chunk-WQ4W5H6A.js";
18
- import "./chunk-S4QKTRGJ.js";
20
+ import "./chunk-EBOKO2PW.js";
19
21
  import {
20
22
  AskUserInterrupt,
21
23
  cancelQuestionsForSession,
@@ -24,7 +26,7 @@ import {
24
26
  import "./chunk-7IOZFJBW.js";
25
27
  import "./chunk-XKFPU2FA.js";
26
28
  import "./chunk-3EHGGBWE.js";
27
- import "./chunk-TPT6HP4H.js";
29
+ import "./chunk-XQQ2BRJA.js";
28
30
  import "./chunk-R4HADRYO.js";
29
31
  import "./chunk-TVQOONDR.js";
30
32
  import "./chunk-PNBH3RAX.js";
@@ -45,4 +47,4 @@ export {
45
47
  stepDoneTool,
46
48
  validateToolAction
47
49
  };
48
- //# sourceMappingURL=tools-MY4TPRP4.js.map
50
+ //# sourceMappingURL=tools-XSK3J4II.js.map