openfox 2.0.144 → 2.0.146

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 (57) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/CHANGELOG.md +12 -0
  3. package/dist/{auto-continue-M3RPFGFI.js → auto-continue-IENGLXVQ.js} +9 -9
  4. package/dist/{chat-handler-QOOQOHHR.js → chat-handler-RJUJHVOX.js} +12 -12
  5. package/dist/{chunk-OVAHNEFG.js → chunk-2PGRX4RH.js} +5 -4
  6. package/dist/{chunk-5XKWYLBX.js → chunk-5D4MQG7P.js} +8 -8
  7. package/dist/{chunk-2DVAF6HY.js → chunk-5JGRKNMS.js} +3 -3
  8. package/dist/{chunk-MBDYJ35W.js → chunk-7BIGFGU5.js} +8 -8
  9. package/dist/{chunk-5ONERSDK.js → chunk-7IETJ4D4.js} +63 -56
  10. package/dist/{chunk-E4F32L4Q.js → chunk-CPRBMVI7.js} +43 -1
  11. package/dist/{chunk-STVJA7IX.js → chunk-CVQYCAMY.js} +3 -3
  12. package/dist/chunk-EABIZXTG.js +7 -0
  13. package/dist/{chunk-QURYQA4D.js → chunk-EZEFBLPY.js} +3 -3
  14. package/dist/{chunk-FLTNKZNQ.js → chunk-KJEOKIH2.js} +4 -4
  15. package/dist/{chunk-OSUEWIVU.js → chunk-L43S7FJM.js} +5 -5
  16. package/dist/chunk-NHHC3AVI.js +231 -0
  17. package/dist/{chunk-YRSZJ7IZ.js → chunk-NZBO3A3W.js} +2 -2
  18. package/dist/{chunk-3IVJ65IG.js → chunk-ORIPUMOQ.js} +5 -5
  19. package/dist/{chunk-Z3C3D4IR.js → chunk-OS4P2KQJ.js} +21 -15
  20. package/dist/{chunk-VFHGN3IS.js → chunk-P7KUU5VB.js} +2 -2
  21. package/dist/{chunk-PW5L4WBG.js → chunk-Q6MBLKL4.js} +1 -1
  22. package/dist/{chunk-C4LI5U6L.js → chunk-QR6FIHIP.js} +55 -30
  23. package/dist/cli/dev.js +1 -1
  24. package/dist/cli/index.js +1 -1
  25. package/dist/{compactor-53WDNC2S.js → compactor-YY7PO2XE.js} +5 -5
  26. package/dist/{describe-image-IGLGVEOJ.js → describe-image-Z5WS6YU3.js} +8 -8
  27. package/dist/{dynamic-context-CR4RUXOX.js → dynamic-context-IQUBKUCX.js} +5 -5
  28. package/dist/{events-ODZ4SSBW.js → events-FTS5W6FX.js} +6 -4
  29. package/dist/{export-import-3WOHC7PI.js → export-import-NAQDPRET.js} +5 -5
  30. package/dist/{folding-V2R2MZ6Y.js → folding-VWRMYZ5T.js} +4 -2
  31. package/dist/{launch-4COI5RGL.js → launch-EUU25RFE.js} +13 -13
  32. package/dist/{orchestrator-AMTWA6JO.js → orchestrator-PPAIE2UH.js} +11 -11
  33. package/dist/package.json +1 -1
  34. package/dist/{path-security-3YFS3GJQ.js → path-security-25P6TQ4R.js} +7 -7
  35. package/dist/{processor-UZ7OBCAK.js → processor-7XMJPNCD.js} +11 -11
  36. package/dist/{protocol-Ch2s26bR.d.ts → protocol--oV4P3L_.d.ts} +2 -1
  37. package/dist/{protocol-MRMOB3P4.js → protocol-M4DFHA32.js} +3 -3
  38. package/dist/provider/index.d.ts +4 -4
  39. package/dist/{serve-NLQ6IB2V.js → serve-3GNQNYG6.js} +18 -18
  40. package/dist/server/index.d.ts +3 -3
  41. package/dist/server/index.js +17 -17
  42. package/dist/{server-YXKUQ3DD.js → server-C4LB436R.js} +16 -16
  43. package/dist/session-stats-Y7WRB5MP.js +23 -0
  44. package/dist/shared/index.d.ts +25 -9
  45. package/dist/shared/index.js +7 -3
  46. package/dist/stats-2QMXP6G4.js +12 -0
  47. package/dist/{store-AOZ46PBS.js → store-OWOLXB74.js} +3 -3
  48. package/dist/{tools-7L63ZMNU.js → tools-OH3WW6Q4.js} +9 -9
  49. package/dist/{types-BajWwfkt.d.ts → types-NEE5osQN.d.ts} +48 -1
  50. package/dist/{types-BiHNYUUI.d.ts → types-usLcJB6N.d.ts} +1 -1
  51. package/dist/{update-IBN2GJUI.js → update-PG63SDV3.js} +2 -2
  52. package/dist/web/assets/{index-DL26wmhi.js → index-jXXIgPm-.js} +84 -84
  53. package/dist/web/index.html +1 -1
  54. package/dist/web/sw.js +1 -1
  55. package/package.json +1 -1
  56. package/dist/chunk-7OHXF5GW.js +0 -132
  57. package/dist/chunk-ZSGELOTW.js +0 -7
@@ -0,0 +1,23 @@
1
+ import "./chunk-YLJ4XMA6.js";
2
+
3
+ // src/server/routes/session-stats.ts
4
+ async function handleGetSessionStats(sessionManager, req, res) {
5
+ const { getEventStore, combineEventsWithSnapshot } = await import("./events-FTS5W6FX.js");
6
+ const { buildSessionStatsMessages } = await import("./folding-VWRMYZ5T.js");
7
+ const { computeSessionStats } = await import("./stats-2QMXP6G4.js");
8
+ const sessionId = req.params["id"];
9
+ const session = sessionManager.getSession(sessionId);
10
+ if (!session) {
11
+ res.status(404).json({ error: "Session not found" });
12
+ return;
13
+ }
14
+ const eventStore = getEventStore();
15
+ const { snapshot, events: eventsSinceSnapshot } = eventStore.getEventsSinceSnapshot(sessionId);
16
+ const events = combineEventsWithSnapshot(sessionId, snapshot, eventsSinceSnapshot);
17
+ const stats = computeSessionStats(buildSessionStatsMessages(events));
18
+ res.json({ stats });
19
+ }
20
+ export {
21
+ handleGetSessionStats
22
+ };
23
+ //# sourceMappingURL=session-stats-Y7WRB5MP.js.map
@@ -1,6 +1,6 @@
1
- import { c as Message, p as SessionStats } from '../types-BajWwfkt.js';
2
- export { A as Attachment, q as CallStatsDataPoint, r as Config, C as ContextState, s as ContextWindow, f as Criterion, t as CriterionAttempt, u as CriterionStatus, v as CriterionValidation, w as DangerLevel, D as Diagnostic, E as EditContextEdit, x as EditContextLine, y as EditContextRegion, z as ElementData, B as ExecutionState, F as FileReadEntry, I as InjectedFile, L as LLMCallStats, G as LlmBackend, H as MessageRole, J as MessageSegment, d as MessageStats, g as MetadataEntry, M as ModelConfig, K as ModelSessionStats, j as PauseState, N as PreparingToolCall, P as Project, l as ProjectTask, n as ProjectTaskCounts, m as ProjectTaskSettings, O as Provider, Q as ProviderBackend, R as RecentUserPrompt, k as Session, U as SessionMetadata, S as SessionMode, h as SessionPhase, i as SessionSummary, V as StatsDataPoint, X as StatsIdentity, Y as TaskActor, Z as TaskAuditEntry, o as TaskGateConfig, _ as TaskGateValue, $ as TaskRunState, a0 as TaskSchedule, a1 as TaskStatus, e as Todo, T as ToolCall, a as ToolMode, a2 as ToolName, b as ToolResult, a3 as UserStepChoice, a4 as ValidationResult, W as WorkflowExecution, a5 as WorkflowExecutionStatus, a6 as WorkflowLaunchScope, a7 as WorkflowParameter, a8 as WorkflowScope } from '../types-BajWwfkt.js';
3
- export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as BackgroundProcess, c as BackgroundProcessExitedPayload, d as BackgroundProcessOutputPayload, e as BackgroundProcessRemovedPayload, f as BackgroundProcessStartedPayload, g as BackgroundProcessStatus, C as ChatAskUserPayload, h as ChatDeltaPayload, i as ChatDonePayload, j as ChatErrorPayload, k as ChatFormatRetryPayload, l as ChatLLMRetryFailedPayload, m as ChatLLMRetryNowPayload, n as ChatLLMRetryPayload, o as ChatMessagePayload, p as ChatMessageUpdatedPayload, q as ChatPathConfirmationPayload, r as ChatProgressPayload, s as ChatRetryPayload, t as ChatStatsPayload, u as ChatThinkingPayload, v as ChatTodoPayload, w as ChatToolCallPayload, x as ChatToolOutputPayload, y as ChatToolPreparingPayload, z as ChatToolResultPayload, D as ChatVisionFallbackPayload, E as ChoiceOption, F as ClientMessage, G as ClientMessageType, H as ContextCompactionEvent, I as ContextPreviewPayload, J as ContextStatePayload, K as CriteriaUpdatedPayload, L as DevServerOutputPayload, M as DevServerStatePayload, N as DiffLine, O as ErrorPayload, P as GitDiffFile, Q as GitStatusPayload, R as LogLine, S as LspDiagnosticsPayload, T as MetadataUpdatedPayload, U as ModeChangedPayload, V as PathConfirmPayload, W as PathConfirmationReason, X as PendingPathConfirmationPayload, Y as PendingQuestionPayload, Z as PhaseChangedPayload, _ as ProjectDeletedPayload, $ as ProjectListPayload, a0 as ProjectStatePayload, a1 as ProviderChangedPayload, a2 as QueueAddedEvent, a3 as QueueCancelledEvent, a4 as QueueDrainedEvent, a5 as QueueEvent, a6 as QueueEventType, a7 as QueueStatePayload, a8 as QueuedMessage, a9 as ServerMessage, aa as ServerMessageType, ab as SessionCreatedPayload, ac as SessionListPayload, ad as SessionLoadPayload, ae as SessionNameGeneratedPayload, af as SessionPausePayload, ag as SessionRunningPayload, ah as SessionStatePayload, ai as TaskCompletedPayload, aj as TasksUpdatePayload, ak as WorkflowWaitingPayload, al as createClientMessage, am as createServerMessage, an as isClientMessage, ao as isServerMessage } from '../protocol-Ch2s26bR.js';
1
+ import { q as StatsSource, r as SessionStats, l as SessionStatsSummary, d as MessageStats } from '../types-NEE5osQN.js';
2
+ export { A as Attachment, s as CallStatsDataPoint, t as Config, C as ContextState, u as ContextWindow, f as Criterion, v as CriterionAttempt, w as CriterionStatus, x as CriterionValidation, y as DangerLevel, D as Diagnostic, E as EditContextEdit, z as EditContextLine, B as EditContextRegion, F as ElementData, G as ExecutionState, H as FileReadEntry, I as InjectedFile, L as LLMCallStats, J as LlmBackend, c as Message, K as MessageRole, N as MessageSegment, g as MetadataEntry, M as ModelConfig, O as ModelSessionStats, Q as ModelStatsSummary, j as PauseState, R as PreparingToolCall, P as Project, m as ProjectTask, o as ProjectTaskCounts, n as ProjectTaskSettings, U as Provider, V as ProviderBackend, X as RecentUserPrompt, k as Session, Y as SessionMetadata, S as SessionMode, h as SessionPhase, i as SessionSummary, Z as StatsDataPoint, _ as StatsIdentity, $ as TaskActor, a0 as TaskAuditEntry, p as TaskGateConfig, a1 as TaskGateValue, a2 as TaskRunState, a3 as TaskSchedule, a4 as TaskStatus, e as Todo, T as ToolCall, a as ToolMode, a5 as ToolName, b as ToolResult, a6 as UserStepChoice, a7 as ValidationResult, W as WorkflowExecution, a8 as WorkflowExecutionStatus, a9 as WorkflowLaunchScope, aa as WorkflowParameter, ab as WorkflowScope } from '../types-NEE5osQN.js';
3
+ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as BackgroundProcess, c as BackgroundProcessExitedPayload, d as BackgroundProcessOutputPayload, e as BackgroundProcessRemovedPayload, f as BackgroundProcessStartedPayload, g as BackgroundProcessStatus, C as ChatAskUserPayload, h as ChatDeltaPayload, i as ChatDonePayload, j as ChatErrorPayload, k as ChatFormatRetryPayload, l as ChatLLMRetryFailedPayload, m as ChatLLMRetryNowPayload, n as ChatLLMRetryPayload, o as ChatMessagePayload, p as ChatMessageUpdatedPayload, q as ChatPathConfirmationPayload, r as ChatProgressPayload, s as ChatRetryPayload, t as ChatStatsPayload, u as ChatThinkingPayload, v as ChatTodoPayload, w as ChatToolCallPayload, x as ChatToolOutputPayload, y as ChatToolPreparingPayload, z as ChatToolResultPayload, D as ChatVisionFallbackPayload, E as ChoiceOption, F as ClientMessage, G as ClientMessageType, H as ContextCompactionEvent, I as ContextPreviewPayload, J as ContextStatePayload, K as CriteriaUpdatedPayload, L as DevServerOutputPayload, M as DevServerStatePayload, N as DiffLine, O as ErrorPayload, P as GitDiffFile, Q as GitStatusPayload, R as LogLine, S as LspDiagnosticsPayload, T as MetadataUpdatedPayload, U as ModeChangedPayload, V as PathConfirmPayload, W as PathConfirmationReason, X as PendingPathConfirmationPayload, Y as PendingQuestionPayload, Z as PhaseChangedPayload, _ as ProjectDeletedPayload, $ as ProjectListPayload, a0 as ProjectStatePayload, a1 as ProviderChangedPayload, a2 as QueueAddedEvent, a3 as QueueCancelledEvent, a4 as QueueDrainedEvent, a5 as QueueEvent, a6 as QueueEventType, a7 as QueueStatePayload, a8 as QueuedMessage, a9 as ServerMessage, aa as ServerMessageType, ab as SessionCreatedPayload, ac as SessionListPayload, ad as SessionLoadPayload, ae as SessionNameGeneratedPayload, af as SessionPausePayload, ag as SessionRunningPayload, ah as SessionStatePayload, ai as TaskCompletedPayload, aj as TasksUpdatePayload, ak as WorkflowWaitingPayload, al as createClientMessage, am as createServerMessage, an as isClientMessage, ao as isServerMessage } from '../protocol--oV4P3L_.js';
4
4
 
5
5
  /**
6
6
  * Session stats computation - aggregates response-level MessageStats from
@@ -8,15 +8,31 @@ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as Backgro
8
8
  */
9
9
 
10
10
  /**
11
- * Compute aggregated session stats from an array of messages.
11
+ * Compute the full aggregated session stats (headline + per-response and
12
+ * per-call progression data) from an array of messages.
12
13
  *
13
14
  * Returns null if no messages have stats.
15
+ */
16
+ declare function computeSessionStats(messages: StatsSource[]): SessionStats | null;
17
+ /**
18
+ * Compute the lean session stats summary (headline aggregates only) from an
19
+ * array of messages. Exact across every context window when fed the full
20
+ * history, yet small enough to ship on every session load.
21
+ *
22
+ * Returns null if no messages have stats.
23
+ */
24
+ declare function computeSessionStatsSummary(messages: StatsSource[]): SessionStatsSummary | null;
25
+ /**
26
+ * Merge the in-flight turn's cumulative stats into a server-computed summary
27
+ * so the UI grows live and lands on the final numbers when the turn ends (the
28
+ * live channel is cleared in the same frame the finished response lands in the
29
+ * next summary). `base` may be null when no response has completed yet — the
30
+ * summary is then built from the live response alone.
14
31
  *
15
- * Weighted average for speeds: totalTokens / totalTime, computed on the same
16
- * token source the per-message speed uses (prefTokenIncrement when available,
17
- * else the full prompt) so cached prefill work is not counted as processed.
32
+ * Note: wire times are rounded to 0.1s (roundTo1), so the merged live view can
33
+ * differ from the post-turn server summary by up to ~0.1s per time field.
18
34
  */
19
- declare function computeSessionStats(messages: Message[]): SessionStats | null;
35
+ declare function mergeLiveStats(base: SessionStatsSummary | null, live: MessageStats): SessionStatsSummary;
20
36
 
21
37
  declare const locales: readonly ["en", "fr"];
22
38
  type Locale = (typeof locales)[number];
@@ -45,4 +61,4 @@ declare function interpolate(msg: string, vars: Record<string, string | number>)
45
61
  */
46
62
  declare function t(tx: Translation, vars?: Record<string, string | number>): string;
47
63
 
48
- export { type Locale, Message, type PluralForm, SessionStats, type Translation, computeSessionStats, getLocale, interpolate, locales, pluralForms, setLocale, t };
64
+ export { type Locale, MessageStats, type PluralForm, SessionStats, SessionStatsSummary, StatsSource, type Translation, computeSessionStats, computeSessionStatsSummary, getLocale, interpolate, locales, mergeLiveStats, pluralForms, setLocale, t };
@@ -1,12 +1,14 @@
1
1
  import {
2
- computeSessionStats
3
- } from "../chunk-7OHXF5GW.js";
2
+ computeSessionStats,
3
+ computeSessionStatsSummary,
4
+ mergeLiveStats
5
+ } from "../chunk-NHHC3AVI.js";
4
6
  import {
5
7
  createClientMessage,
6
8
  createServerMessage,
7
9
  isClientMessage,
8
10
  isServerMessage
9
- } from "../chunk-PW5L4WBG.js";
11
+ } from "../chunk-Q6MBLKL4.js";
10
12
  import {
11
13
  getLocale,
12
14
  interpolate,
@@ -18,6 +20,7 @@ import {
18
20
  import "../chunk-YLJ4XMA6.js";
19
21
  export {
20
22
  computeSessionStats,
23
+ computeSessionStatsSummary,
21
24
  createClientMessage,
22
25
  createServerMessage,
23
26
  getLocale,
@@ -25,6 +28,7 @@ export {
25
28
  isClientMessage,
26
29
  isServerMessage,
27
30
  locales,
31
+ mergeLiveStats,
28
32
  pluralForms,
29
33
  setLocale,
30
34
  t
@@ -0,0 +1,12 @@
1
+ import {
2
+ computeSessionStats,
3
+ computeSessionStatsSummary,
4
+ mergeLiveStats
5
+ } from "./chunk-NHHC3AVI.js";
6
+ import "./chunk-YLJ4XMA6.js";
7
+ export {
8
+ computeSessionStats,
9
+ computeSessionStatsSummary,
10
+ mergeLiveStats
11
+ };
12
+ //# sourceMappingURL=stats-2QMXP6G4.js.map
@@ -3,8 +3,8 @@ import {
3
3
  getEventStore,
4
4
  getStaleRunningSessionIds,
5
5
  initEventStore
6
- } from "./chunk-YRSZJ7IZ.js";
7
- import "./chunk-E4F32L4Q.js";
6
+ } from "./chunk-NZBO3A3W.js";
7
+ import "./chunk-CPRBMVI7.js";
8
8
  import "./chunk-YEW4YEJU.js";
9
9
  import "./chunk-OSXPQSLW.js";
10
10
  import "./chunk-LCLH6ZUL.js";
@@ -20,4 +20,4 @@ export {
20
20
  getStaleRunningSessionIds,
21
21
  initEventStore
22
22
  };
23
- //# sourceMappingURL=store-AOZ46PBS.js.map
23
+ //# sourceMappingURL=store-OWOLXB74.js.map
@@ -10,14 +10,14 @@ import {
10
10
  setTasksService,
11
11
  stepDoneTool,
12
12
  validateToolAction
13
- } from "./chunk-C4LI5U6L.js";
13
+ } from "./chunk-QR6FIHIP.js";
14
14
  import "./chunk-OAN4BXEW.js";
15
15
  import "./chunk-DJH6LMBT.js";
16
16
  import "./chunk-PHR64A6U.js";
17
17
  import "./chunk-J7GAZGZT.js";
18
18
  import "./chunk-2DBWCXAQ.js";
19
19
  import "./chunk-UO4X2ENE.js";
20
- import "./chunk-FLTNKZNQ.js";
20
+ import "./chunk-KJEOKIH2.js";
21
21
  import "./chunk-X7ZAP6YW.js";
22
22
  import {
23
23
  PathAccessDeniedError,
@@ -26,16 +26,16 @@ import {
26
26
  getConfirmationSessionId,
27
27
  providePathConfirmation,
28
28
  requestPathAccess
29
- } from "./chunk-STVJA7IX.js";
29
+ } from "./chunk-CVQYCAMY.js";
30
30
  import "./chunk-FAN4P45J.js";
31
31
  import "./chunk-ZONLEX2F.js";
32
32
  import "./chunk-VGE6UYND.js";
33
33
  import "./chunk-ODETQHMI.js";
34
34
  import "./chunk-I72ACQ6R.js";
35
35
  import "./chunk-VIJVLLPT.js";
36
- import "./chunk-2DVAF6HY.js";
37
- import "./chunk-YRSZJ7IZ.js";
38
- import "./chunk-E4F32L4Q.js";
36
+ import "./chunk-5JGRKNMS.js";
37
+ import "./chunk-NZBO3A3W.js";
38
+ import "./chunk-CPRBMVI7.js";
39
39
  import "./chunk-CCIG3YLG.js";
40
40
  import "./chunk-YEW4YEJU.js";
41
41
  import "./chunk-OSXPQSLW.js";
@@ -45,7 +45,7 @@ import {
45
45
  getPendingQuestionsForSession,
46
46
  provideAnswer
47
47
  } from "./chunk-V5AC2TV7.js";
48
- import "./chunk-OVAHNEFG.js";
48
+ import "./chunk-2PGRX4RH.js";
49
49
  import "./chunk-LCLH6ZUL.js";
50
50
  import "./chunk-YEFZ5HBD.js";
51
51
  import "./chunk-AWBV2VXO.js";
@@ -64,7 +64,7 @@ import "./chunk-X6SWZEK7.js";
64
64
  import "./chunk-WOVWVB5J.js";
65
65
  import "./chunk-VKMPR25F.js";
66
66
  import "./chunk-K44MW7JJ.js";
67
- import "./chunk-PW5L4WBG.js";
67
+ import "./chunk-Q6MBLKL4.js";
68
68
  import "./chunk-24YKXKCG.js";
69
69
  import "./chunk-73BO5OT3.js";
70
70
  import "./chunk-CQGTEGKL.js";
@@ -92,4 +92,4 @@ export {
92
92
  stepDoneTool,
93
93
  validateToolAction
94
94
  };
95
- //# sourceMappingURL=tools-7L63ZMNU.js.map
95
+ //# sourceMappingURL=tools-OH3WW6Q4.js.map
@@ -266,6 +266,53 @@ interface ModelSessionStats extends StatsIdentity {
266
266
  dataPoints: StatsDataPoint[];
267
267
  callDataPoints: CallStatsDataPoint[];
268
268
  }
269
+ /**
270
+ * Minimal per-response stats input for aggregation. `Message` is assignable
271
+ * to it — only id, timestamp and stats are read.
272
+ */
273
+ interface StatsSource {
274
+ id: string;
275
+ timestamp: string;
276
+ stats?: MessageStats | null;
277
+ }
278
+ /**
279
+ * Lean server-computed session stats: the headline aggregates only, no
280
+ * discrete per-response/per-call progression arrays. Shipped on every
281
+ * session load and state update (a few hundred bytes) regardless of how many
282
+ * responses the session has. The trailing accumulators are internal — they
283
+ * keep the live-turn merge exact and are never displayed.
284
+ */
285
+ interface SessionStatsSummary {
286
+ totalTime: number;
287
+ aiTime: number;
288
+ toolTime: number;
289
+ prefillTokens: number;
290
+ generationTokens: number;
291
+ avgPrefillSpeed: number;
292
+ avgGenerationSpeed: number;
293
+ responseCount: number;
294
+ llmCallCount: number;
295
+ modelGroups: ModelStatsSummary[];
296
+ totalPrefillSource: number;
297
+ totalPrefillTime: number;
298
+ totalGenTime: number;
299
+ }
300
+ interface ModelStatsSummary extends StatsIdentity {
301
+ key: string;
302
+ label: string;
303
+ totalTime: number;
304
+ aiTime: number;
305
+ toolTime: number;
306
+ prefillTokens: number;
307
+ generationTokens: number;
308
+ avgPrefillSpeed: number;
309
+ avgGenerationSpeed: number;
310
+ responseCount: number;
311
+ llmCallCount: number;
312
+ totalPrefillSource: number;
313
+ totalPrefillTime: number;
314
+ totalGenTime: number;
315
+ }
269
316
  interface InjectedFile {
270
317
  path: string;
271
318
  content: string;
@@ -745,4 +792,4 @@ interface ElementData {
745
792
  attributes: Record<string, string>;
746
793
  }
747
794
 
748
- export type { TaskRunState as $, Attachment as A, ExecutionState as B, ContextState as C, Diagnostic as D, EditContextEdit as E, FileReadEntry as F, LlmBackend as G, MessageRole as H, InjectedFile as I, MessageSegment as J, ModelSessionStats as K, LLMCallStats as L, ModelConfig as M, PreparingToolCall as N, Provider as O, Project as P, ProviderBackend as Q, RecentUserPrompt as R, SessionMode as S, ToolCall as T, SessionMetadata as U, StatsDataPoint as V, WorkflowExecution as W, StatsIdentity as X, TaskActor as Y, TaskAuditEntry as Z, TaskGateValue as _, ToolMode as a, TaskSchedule as a0, TaskStatus as a1, ToolName as a2, UserStepChoice as a3, ValidationResult as a4, WorkflowExecutionStatus as a5, WorkflowLaunchScope as a6, WorkflowParameter as a7, WorkflowScope as a8, ToolResult as b, Message as c, MessageStats as d, Todo as e, Criterion as f, MetadataEntry as g, SessionPhase as h, SessionSummary as i, PauseState as j, Session as k, ProjectTask as l, ProjectTaskSettings as m, ProjectTaskCounts as n, TaskGateConfig as o, SessionStats as p, CallStatsDataPoint as q, Config as r, ContextWindow as s, CriterionAttempt as t, CriterionStatus as u, CriterionValidation as v, DangerLevel as w, EditContextLine as x, EditContextRegion as y, ElementData as z };
795
+ export type { TaskActor as $, Attachment as A, EditContextRegion as B, ContextState as C, Diagnostic as D, EditContextEdit as E, ElementData as F, ExecutionState as G, FileReadEntry as H, InjectedFile as I, LlmBackend as J, MessageRole as K, LLMCallStats as L, ModelConfig as M, MessageSegment as N, ModelSessionStats as O, Project as P, ModelStatsSummary as Q, PreparingToolCall as R, SessionMode as S, ToolCall as T, Provider as U, ProviderBackend as V, WorkflowExecution as W, RecentUserPrompt as X, SessionMetadata as Y, StatsDataPoint as Z, StatsIdentity as _, ToolMode as a, TaskAuditEntry as a0, TaskGateValue as a1, TaskRunState as a2, TaskSchedule as a3, TaskStatus as a4, ToolName as a5, UserStepChoice as a6, ValidationResult as a7, WorkflowExecutionStatus as a8, WorkflowLaunchScope as a9, WorkflowParameter as aa, WorkflowScope as ab, ToolResult as b, Message as c, MessageStats as d, Todo as e, Criterion as f, MetadataEntry as g, SessionPhase as h, SessionSummary as i, PauseState as j, Session as k, SessionStatsSummary as l, ProjectTask as m, ProjectTaskSettings as n, ProjectTaskCounts as o, TaskGateConfig as p, StatsSource as q, SessionStats as r, CallStatsDataPoint as s, Config as t, ContextWindow as u, CriterionAttempt as v, CriterionStatus as w, CriterionValidation as x, DangerLevel as y, EditContextLine as z };
@@ -1,4 +1,4 @@
1
- import { T as ToolCall, A as Attachment } from './types-BajWwfkt.js';
1
+ import { T as ToolCall, A as Attachment } from './types-NEE5osQN.js';
2
2
 
3
3
  interface LLMMessage {
4
4
  role: 'system' | 'user' | 'assistant' | 'tool';
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-2OMGR7LN.js";
4
4
  import {
5
5
  VERSION
6
- } from "./chunk-ZSGELOTW.js";
6
+ } from "./chunk-EABIZXTG.js";
7
7
  import "./chunk-24YKXKCG.js";
8
8
  import "./chunk-CQGTEGKL.js";
9
9
  import "./chunk-YLJ4XMA6.js";
@@ -73,4 +73,4 @@ async function runUpdate(options = {}) {
73
73
  export {
74
74
  runUpdate
75
75
  };
76
- //# sourceMappingURL=update-IBN2GJUI.js.map
76
+ //# sourceMappingURL=update-PG63SDV3.js.map