@superblocksteam/vite-plugin-file-sync 2.0.131 → 2.0.132

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 (152) hide show
  1. package/dist/ai-service/agent/tools/build-copy-utils.d.ts +8 -8
  2. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  3. package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
  4. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +2 -2
  5. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +1 -1
  6. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  7. package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
  8. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  9. package/dist/ai-service/app-interface/npm-registry.js +6 -3
  10. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  11. package/dist/ai-service/attachments/{csv-upload-artifacts.d.ts → text-upload-artifacts.d.ts} +14 -11
  12. package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -0
  13. package/dist/ai-service/attachments/{csv-upload-artifacts.js → text-upload-artifacts.js} +61 -35
  14. package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -0
  15. package/dist/ai-service/chat/chat-session-store-metrics.d.ts +12 -0
  16. package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -0
  17. package/dist/ai-service/chat/chat-session-store-metrics.js +63 -0
  18. package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -0
  19. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  20. package/dist/ai-service/chat/chat-session-store.js +24 -4
  21. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  22. package/dist/ai-service/index.d.ts +4 -38
  23. package/dist/ai-service/index.d.ts.map +1 -1
  24. package/dist/ai-service/index.js +14 -168
  25. package/dist/ai-service/index.js.map +1 -1
  26. package/dist/ai-service/llm/client.d.ts.map +1 -1
  27. package/dist/ai-service/llm/client.js +33 -26
  28. package/dist/ai-service/llm/client.js.map +1 -1
  29. package/dist/ai-service/llm/context-v2/compactor.d.ts.map +1 -1
  30. package/dist/ai-service/llm/context-v2/compactor.js +21 -13
  31. package/dist/ai-service/llm/context-v2/compactor.js.map +1 -1
  32. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +25 -0
  33. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  34. package/dist/ai-service/llm/context-v2/context-metrics.js +147 -7
  35. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  36. package/dist/ai-service/llm/context-v2/context.d.ts +10 -1
  37. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  38. package/dist/ai-service/llm/context-v2/context.js +98 -10
  39. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  40. package/dist/ai-service/llm/context-v2/manager.d.ts +3 -1
  41. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  42. package/dist/ai-service/llm/context-v2/manager.js +26 -5
  43. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  44. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +5 -2
  45. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
  46. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +229 -55
  47. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
  48. package/dist/ai-service/llm/context-v2/phase2-session-summarizer.d.ts +1 -0
  49. package/dist/ai-service/llm/context-v2/phase2-session-summarizer.d.ts.map +1 -1
  50. package/dist/ai-service/llm/context-v2/phase2-session-summarizer.js +108 -2
  51. package/dist/ai-service/llm/context-v2/phase2-session-summarizer.js.map +1 -1
  52. package/dist/ai-service/llm/context-v2/prompts/compaction.d.ts +1 -1
  53. package/dist/ai-service/llm/context-v2/prompts/compaction.d.ts.map +1 -1
  54. package/dist/ai-service/llm/context-v2/prompts/compaction.js +6 -0
  55. package/dist/ai-service/llm/context-v2/prompts/compaction.js.map +1 -1
  56. package/dist/ai-service/llm/context-v2/storage/local.d.ts.map +1 -1
  57. package/dist/ai-service/llm/context-v2/storage/local.js +16 -2
  58. package/dist/ai-service/llm/context-v2/storage/local.js.map +1 -1
  59. package/dist/ai-service/llm/context-v2/types.d.ts +3 -1
  60. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  61. package/dist/ai-service/llm/context-v2/types.js +76 -10
  62. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  63. package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts +6 -6
  64. package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts.map +1 -1
  65. package/dist/ai-service/llm/context-v2/uniquify-filenames.js +127 -24
  66. package/dist/ai-service/llm/context-v2/uniquify-filenames.js.map +1 -1
  67. package/dist/ai-service/llm/context-v2/utils/get-loaded-context.d.ts +1 -1
  68. package/dist/ai-service/llm/context-v2/utils/get-loaded-context.d.ts.map +1 -1
  69. package/dist/ai-service/llm/context-v2/utils/get-loaded-context.js.map +1 -1
  70. package/dist/ai-service/llm/error.d.ts +1 -1
  71. package/dist/ai-service/llm/error.d.ts.map +1 -1
  72. package/dist/ai-service/llm/error.js +11 -0
  73. package/dist/ai-service/llm/error.js.map +1 -1
  74. package/dist/ai-service/llm/stream/config.d.ts +19 -29
  75. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  76. package/dist/ai-service/llm/stream/config.js +17 -40
  77. package/dist/ai-service/llm/stream/config.js.map +1 -1
  78. package/dist/ai-service/llm/stream/errors.d.ts +4 -6
  79. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
  80. package/dist/ai-service/llm/stream/errors.js +13 -0
  81. package/dist/ai-service/llm/stream/errors.js.map +1 -1
  82. package/dist/ai-service/llm/stream/idle-monitor.d.ts +29 -21
  83. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  84. package/dist/ai-service/llm/stream/idle-monitor.js +157 -68
  85. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  86. package/dist/ai-service/llm/stream/index.d.ts +1 -1
  87. package/dist/ai-service/llm/stream/index.d.ts.map +1 -1
  88. package/dist/ai-service/llm/stream/index.js +1 -1
  89. package/dist/ai-service/llm/stream/index.js.map +1 -1
  90. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +3 -1
  91. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  92. package/dist/ai-service/llm/stream/observers/llmobs.js +55 -25
  93. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  94. package/dist/ai-service/llm/stream/orchestrator.d.ts +4 -0
  95. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  96. package/dist/ai-service/llm/stream/orchestrator.js +154 -33
  97. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  98. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  99. package/dist/ai-service/llm/stream/retry-engine.js +3 -6
  100. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  101. package/dist/ai-service/state-machine/handlers/agent-planning.js +1 -1
  102. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  103. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +5 -5
  104. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  105. package/dist/ai-service/state-machine/handlers/llm-generating.js +47 -35
  106. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  107. package/dist/ai-service/state-machine/helpers/context-id.d.ts +1 -1
  108. package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -1
  109. package/dist/ai-service/state-machine/helpers/context-id.js +3 -0
  110. package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -1
  111. package/dist/ai-service/tasks/types.d.ts +6 -6
  112. package/dist/ai-service/types.d.ts +0 -6
  113. package/dist/ai-service/types.d.ts.map +1 -1
  114. package/dist/ai-service/types.js.map +1 -1
  115. package/dist/lock-service/index.d.ts +2 -0
  116. package/dist/lock-service/index.d.ts.map +1 -1
  117. package/dist/lock-service/index.js +52 -3
  118. package/dist/lock-service/index.js.map +1 -1
  119. package/dist/migration/translation-prompt.d.ts +6 -7
  120. package/dist/migration/translation-prompt.d.ts.map +1 -1
  121. package/dist/migration/translation-prompt.js +6 -7
  122. package/dist/migration/translation-prompt.js.map +1 -1
  123. package/dist/migration-templates/app-fullstack/package.json +0 -1
  124. package/dist/socket-manager.d.ts.map +1 -1
  125. package/dist/socket-manager.js +0 -6
  126. package/dist/socket-manager.js.map +1 -1
  127. package/dist/sync-service/download.d.ts.map +1 -1
  128. package/dist/sync-service/download.js +49 -1
  129. package/dist/sync-service/download.js.map +1 -1
  130. package/dist/util/logger.d.ts.map +1 -1
  131. package/dist/util/logger.js +62 -0
  132. package/dist/util/logger.js.map +1 -1
  133. package/package.json +8 -8
  134. package/dist/ai-service/attachments/csv-upload-artifacts.d.ts.map +0 -1
  135. package/dist/ai-service/attachments/csv-upload-artifacts.js.map +0 -1
  136. package/dist/ai-service/migration-auto-dispatch-readiness.d.ts +0 -18
  137. package/dist/ai-service/migration-auto-dispatch-readiness.d.ts.map +0 -1
  138. package/dist/ai-service/migration-auto-dispatch-readiness.js +0 -17
  139. package/dist/ai-service/migration-auto-dispatch-readiness.js.map +0 -1
  140. package/dist/ai-service/migration-llm-config.d.ts +0 -7
  141. package/dist/ai-service/migration-llm-config.d.ts.map +0 -1
  142. package/dist/ai-service/migration-llm-config.js +0 -122
  143. package/dist/ai-service/migration-llm-config.js.map +0 -1
  144. package/dist/ai-service/resolve-generation-state-for-ui.d.ts +0 -8
  145. package/dist/ai-service/resolve-generation-state-for-ui.d.ts.map +0 -1
  146. package/dist/ai-service/resolve-generation-state-for-ui.js +0 -36
  147. package/dist/ai-service/resolve-generation-state-for-ui.js.map +0 -1
  148. package/dist/ai-service/util/inference-jwt.d.ts +0 -15
  149. package/dist/ai-service/util/inference-jwt.d.ts.map +0 -1
  150. package/dist/ai-service/util/inference-jwt.js +0 -56
  151. package/dist/ai-service/util/inference-jwt.js.map +0 -1
  152. package/dist/migration-templates/app-fullstack/client/components/ui/chat.tsx +0 -2303
@@ -8,20 +8,17 @@ import type { StreamSession } from "./session.js";
8
8
  */
9
9
  export type TimeoutBudget = number | (() => number);
10
10
  /**
11
- * Detects when a stream has stalled (no chunks received within timeout).
11
+ * Detects when a stream has stalled.
12
12
  *
13
13
  * Uses setTimeout-reset: timer is armed on start() and reset on each chunk.
14
- * Two budgets apply: `firstChunkTimeoutMs` governs the wait for the first
15
- * response event in each provider step, and `maxIdleTimeMs` governs inter-chunk
16
- * gaps thereafter. The first-chunk budget is larger because a step can sit
17
- * silent before useful output arrives while the provider does pre-response work
18
- * — notably server-side context compaction (`compact_20260112`). See APPS-4520.
14
+ * Three budgets apply: `firstTokenTimeoutMs` bounds the wait for the first
15
+ * text or reasoning delta, `compactionSummaryTimeoutMs` bounds Anthropic's
16
+ * single-shot compaction summary, and `maxIdleTimeMs` governs activity gaps.
19
17
  *
20
18
  * Automatically subscribes to session events:
21
- * - "chunk" resets the timer (normal chunks switch to the inter-chunk budget;
22
- * server compaction lifecycle chunks keep the first-chunk budget)
23
- * - "step:start" resets the timer for the new step's first useful output
24
- * - "retry" restarts the timer for the new attempt (back to the first-chunk budget)
19
+ * - "chunk" resets the activity timer
20
+ * - "step:start" resets the timers for the new step's first token
21
+ * - "retry" restarts the timers for the new attempt
25
22
  * - "session:complete", "session:error", "session:abort" stop the monitor
26
23
  *
27
24
  * @example
@@ -35,11 +32,12 @@ export interface IdleMonitorOptions {
35
32
  session: StreamSession;
36
33
  maxIdleTimeMs: TimeoutBudget;
37
34
  /**
38
- * Budget for the first useful output event in each provider step. Defaults
39
- * to `maxIdleTimeMs`. Set larger to tolerate server-side context compaction
40
- * gaps after the compaction start event.
35
+ * Wall-clock budget for the first text or reasoning delta in each provider
36
+ * step. Raw heartbeats keep the activity timer alive but do not reset this deadline.
37
+ * Defaults to `maxIdleTimeMs`.
41
38
  */
42
- firstChunkTimeoutMs?: TimeoutBudget;
39
+ firstTokenTimeoutMs?: TimeoutBudget;
40
+ compactionSummaryTimeoutMs?: TimeoutBudget;
43
41
  onStall?: (error: StallTimeoutError) => void;
44
42
  onServerCompactionStart?: (blockId: string) => void;
45
43
  /**
@@ -64,25 +62,26 @@ export interface IdleMonitorOptions {
64
62
  export declare class IdleMonitor {
65
63
  private readonly session;
66
64
  private readonly maxIdleTimeMs;
67
- private readonly firstChunkTimeoutMs;
65
+ private readonly firstTokenTimeoutMs;
66
+ private readonly compactionSummaryTimeoutMs;
68
67
  private readonly onStallCallback?;
69
68
  private readonly onServerCompactionStart?;
70
69
  private readonly shouldPause?;
71
70
  private readonly onPauseCallback?;
72
71
  private timer;
72
+ private firstTokenTimer;
73
+ private compactionSummaryTimer;
73
74
  private stallError;
74
75
  private stallCallbacks;
75
76
  private subscribed;
76
- private hasReceivedChunk;
77
+ private hasReceivedFirstToken;
77
78
  private pausedThisStretch;
78
79
  private readonly compactionTextBlockIds;
79
80
  private armedBudget;
81
+ private firstTokenArmedBudget;
82
+ private compactionSummaryArmedBudget;
80
83
  constructor(options: IdleMonitorOptions);
81
84
  private resolveBudget;
82
- /**
83
- * Active budget: the first-chunk budget until useful output arrives, then
84
- * the inter-chunk idle budget. Resolved against the current model each call.
85
- */
86
85
  private currentBudget;
87
86
  /**
88
87
  * Start the idle monitor. Arms the timer and subscribes to session events.
@@ -111,7 +110,16 @@ export declare class IdleMonitor {
111
110
  private handleRetry;
112
111
  private handleSessionEnd;
113
112
  private armTimer;
114
- private keepsFirstChunkBudget;
113
+ private armFirstTokenTimer;
114
+ private stopFirstTokenTimer;
115
+ private armCompactionSummaryTimer;
116
+ private stopCompactionSummaryTimer;
117
+ private satisfiesFirstTokenDeadline;
118
+ private handleCompactionUpdate;
119
+ private shouldSuppressStall;
120
+ private emitStall;
121
+ private fireFirstTokenStall;
122
+ private fireCompactionSummaryStall;
115
123
  private fireStall;
116
124
  }
117
125
  //# sourceMappingURL=idle-monitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idle-monitor.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/idle-monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAA4B;IACrE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAa;IAC9C,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAI5D,OAAO,CAAC,WAAW,CAGjB;gBAEU,OAAO,EAAE,kBAAkB;IAWvC,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,aAAa,IAAI,iBAAiB,GAAG,IAAI;IAIzC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAU9B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,WAAW,CAQjB;IAEF,OAAO,CAAC,eAAe,CAOrB;IAEF,OAAO,CAAC,WAAW,CAQjB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,SAAS;CAyElB"}
1
+ {"version":3,"file":"idle-monitor.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/idle-monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,0BAA0B,CAAC,EAAE,aAAa,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAA4B;IACrE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAa;IAC9C,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,qBAAqB,CAAS;IAGtC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAI5D,OAAO,CAAC,WAAW,CAGjB;IAEF,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,4BAA4B,CAAK;gBAE7B,OAAO,EAAE,kBAAkB;IAavC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI;IAYZ;;OAEG;IACH,aAAa,IAAI,iBAAiB,GAAG,IAAI;IAIzC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAU9B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,WAAW,CAgBjB;IAEF,OAAO,CAAC,eAAe,CASrB;IAEF,OAAO,CAAC,WAAW,CAUjB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,SAAS;IA2BjB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,SAAS;CAwClB"}
@@ -3,16 +3,19 @@ import { StallTimeoutError } from "./errors.js";
3
3
  export class IdleMonitor {
4
4
  session;
5
5
  maxIdleTimeMs;
6
- firstChunkTimeoutMs;
6
+ firstTokenTimeoutMs;
7
+ compactionSummaryTimeoutMs;
7
8
  onStallCallback;
8
9
  onServerCompactionStart;
9
10
  shouldPause;
10
11
  onPauseCallback;
11
12
  timer = null;
13
+ firstTokenTimer = null;
14
+ compactionSummaryTimer = null;
12
15
  stallError = null;
13
16
  stallCallbacks = [];
14
17
  subscribed = false;
15
- hasReceivedChunk = false;
18
+ hasReceivedFirstToken = false;
16
19
  // True once a local-wait suppression stretch has fired its onPause event;
17
20
  // reset by real activity (chunk/step/retry) so each stretch logs exactly once.
18
21
  pausedThisStretch = false;
@@ -22,13 +25,18 @@ export class IdleMonitor {
22
25
  // that actually fired even if the model (and thus the resolver) changed since.
23
26
  armedBudget = {
24
27
  timeoutMs: 0,
25
- budgetKind: "first-chunk",
28
+ budgetKind: "inter-chunk",
26
29
  };
30
+ // Set before the timer callback can fire.
31
+ firstTokenArmedBudget = 0;
32
+ compactionSummaryArmedBudget = 0;
27
33
  constructor(options) {
28
34
  this.session = options.session;
29
35
  this.maxIdleTimeMs = options.maxIdleTimeMs;
30
- this.firstChunkTimeoutMs =
31
- options.firstChunkTimeoutMs ?? options.maxIdleTimeMs;
36
+ this.firstTokenTimeoutMs =
37
+ options.firstTokenTimeoutMs ?? options.maxIdleTimeMs;
38
+ this.compactionSummaryTimeoutMs =
39
+ options.compactionSummaryTimeoutMs ?? options.maxIdleTimeMs;
32
40
  this.onStallCallback = options.onStall;
33
41
  this.onServerCompactionStart = options.onServerCompactionStart;
34
42
  this.shouldPause = options.shouldPause;
@@ -37,31 +45,23 @@ export class IdleMonitor {
37
45
  resolveBudget(budget) {
38
46
  return typeof budget === "function" ? budget() : budget;
39
47
  }
40
- /**
41
- * Active budget: the first-chunk budget until useful output arrives, then
42
- * the inter-chunk idle budget. Resolved against the current model each call.
43
- */
44
48
  currentBudget() {
45
- return this.hasReceivedChunk
46
- ? {
47
- timeoutMs: this.resolveBudget(this.maxIdleTimeMs),
48
- budgetKind: "inter-chunk",
49
- }
50
- : {
51
- timeoutMs: this.resolveBudget(this.firstChunkTimeoutMs),
52
- budgetKind: "first-chunk",
53
- };
49
+ return {
50
+ timeoutMs: this.resolveBudget(this.maxIdleTimeMs),
51
+ budgetKind: "inter-chunk",
52
+ };
54
53
  }
55
54
  /**
56
55
  * Start the idle monitor. Arms the timer and subscribes to session events.
57
56
  */
58
57
  start() {
59
58
  this.stallError = null;
60
- this.hasReceivedChunk = false;
59
+ this.hasReceivedFirstToken = false;
61
60
  this.pausedThisStretch = false;
62
61
  this.compactionTextBlockIds.clear();
63
62
  this.session.resetActivityTimer();
64
63
  this.subscribeToEvents();
64
+ this.armFirstTokenTimer();
65
65
  this.armTimer();
66
66
  }
67
67
  /**
@@ -77,6 +77,11 @@ export class IdleMonitor {
77
77
  clearTimeout(this.timer);
78
78
  this.timer = null;
79
79
  }
80
+ if (this.firstTokenTimer !== null) {
81
+ clearTimeout(this.firstTokenTimer);
82
+ this.firstTokenTimer = null;
83
+ }
84
+ this.stopCompactionSummaryTimer();
80
85
  }
81
86
  /**
82
87
  * Get the stall error if one has been detected.
@@ -112,29 +117,39 @@ export class IdleMonitor {
112
117
  this.session.events.on("session:abort", this.handleSessionEnd);
113
118
  }
114
119
  handleChunk = (chunk) => {
115
- if (!this.keepsFirstChunkBudget(chunk)) {
116
- this.hasReceivedChunk = true;
120
+ this.handleCompactionUpdate(chunk);
121
+ if (!this.hasReceivedFirstToken &&
122
+ this.satisfiesFirstTokenDeadline(chunk)) {
123
+ this.hasReceivedFirstToken = true;
124
+ this.stopFirstTokenTimer();
117
125
  }
118
126
  this.stallError = null;
119
127
  this.stallCallbacks = [];
120
128
  this.pausedThisStretch = false;
129
+ if (this.compactionSummaryTimer !== null) {
130
+ return;
131
+ }
121
132
  this.armTimer();
122
133
  };
123
134
  handleStepStart = () => {
124
- this.hasReceivedChunk = false;
135
+ this.hasReceivedFirstToken = false;
125
136
  this.compactionTextBlockIds.clear();
137
+ this.stopCompactionSummaryTimer();
126
138
  this.stallError = null;
127
139
  this.pausedThisStretch = false;
128
140
  this.session.resetActivityTimer();
141
+ this.armFirstTokenTimer();
129
142
  this.armTimer();
130
143
  };
131
144
  handleRetry = () => {
132
- this.hasReceivedChunk = false;
145
+ this.hasReceivedFirstToken = false;
133
146
  this.compactionTextBlockIds.clear();
147
+ this.stopCompactionSummaryTimer();
134
148
  this.stallError = null;
135
149
  this.stallCallbacks = [];
136
150
  this.pausedThisStretch = false;
137
151
  this.session.resetActivityTimer();
152
+ this.armFirstTokenTimer();
138
153
  this.armTimer();
139
154
  };
140
155
  handleSessionEnd = () => {
@@ -150,29 +165,139 @@ export class IdleMonitor {
150
165
  this.fireStall();
151
166
  }, this.armedBudget.timeoutMs);
152
167
  }
153
- keepsFirstChunkBudget(chunk) {
154
- if (chunk.type === "raw" && this.compactionTextBlockIds.size > 0) {
155
- return true;
168
+ armFirstTokenTimer() {
169
+ this.stopFirstTokenTimer();
170
+ if (this.hasReceivedFirstToken) {
171
+ return;
172
+ }
173
+ this.firstTokenArmedBudget = this.resolveBudget(this.firstTokenTimeoutMs);
174
+ this.firstTokenTimer = setTimeout(() => {
175
+ this.fireFirstTokenStall();
176
+ }, this.firstTokenArmedBudget);
177
+ }
178
+ stopFirstTokenTimer() {
179
+ if (this.firstTokenTimer !== null) {
180
+ clearTimeout(this.firstTokenTimer);
181
+ this.firstTokenTimer = null;
156
182
  }
183
+ }
184
+ armCompactionSummaryTimer() {
185
+ this.stopFirstTokenTimer();
186
+ this.stopCompactionSummaryTimer();
187
+ if (this.timer !== null) {
188
+ clearTimeout(this.timer);
189
+ this.timer = null;
190
+ }
191
+ this.compactionSummaryArmedBudget = this.resolveBudget(this.compactionSummaryTimeoutMs);
192
+ this.compactionSummaryTimer = setTimeout(() => {
193
+ this.fireCompactionSummaryStall();
194
+ }, this.compactionSummaryArmedBudget);
195
+ }
196
+ stopCompactionSummaryTimer() {
197
+ if (this.compactionSummaryTimer !== null) {
198
+ clearTimeout(this.compactionSummaryTimer);
199
+ this.compactionSummaryTimer = null;
200
+ }
201
+ }
202
+ satisfiesFirstTokenDeadline(chunk) {
203
+ return ((chunk.type === "text-delta" || chunk.type === "reasoning-delta") &&
204
+ typeof chunk.text === "string" &&
205
+ chunk.text.length > 0);
206
+ }
207
+ handleCompactionUpdate(chunk) {
157
208
  const compactionBlock = getServerCompactionTextBlockUpdate(chunk);
158
209
  if (compactionBlock.kind === "start") {
159
210
  if (!this.compactionTextBlockIds.has(compactionBlock.id)) {
160
211
  this.compactionTextBlockIds.add(compactionBlock.id);
212
+ this.armCompactionSummaryTimer();
161
213
  this.onServerCompactionStart?.(compactionBlock.id);
162
214
  }
163
- return true;
215
+ return;
164
216
  }
165
217
  if (compactionBlock.kind === "part" &&
166
218
  this.compactionTextBlockIds.has(compactionBlock.id)) {
219
+ this.stopCompactionSummaryTimer();
167
220
  if (compactionBlock.done) {
168
221
  this.compactionTextBlockIds.delete(compactionBlock.id);
222
+ if (this.compactionTextBlockIds.size === 0 &&
223
+ !this.hasReceivedFirstToken) {
224
+ this.armFirstTokenTimer();
225
+ }
169
226
  }
170
- return true;
171
227
  }
172
- return false;
228
+ }
229
+ shouldSuppressStall() {
230
+ let shouldPause = false;
231
+ try {
232
+ shouldPause = this.shouldPause?.() ?? false;
233
+ }
234
+ catch {
235
+ // A shouldPause failure must not break stall monitoring.
236
+ }
237
+ if (!shouldPause) {
238
+ return false;
239
+ }
240
+ // Emit one onPause event at the start of each suppression stretch so a
241
+ // long local wait (e.g. a tool that never returns) is observable, without
242
+ // logging on every re-arm. The flag clears on the next real chunk/step/
243
+ // retry, so a later stuck stretch emits again.
244
+ if (!this.pausedThisStretch) {
245
+ this.pausedThisStretch = true;
246
+ try {
247
+ this.onPauseCallback?.();
248
+ }
249
+ catch {
250
+ // A callback/logging failure must not break stall monitoring.
251
+ }
252
+ }
253
+ return true;
254
+ }
255
+ emitStall(error) {
256
+ this.stallError = error;
257
+ this.stopFirstTokenTimer();
258
+ if (this.timer !== null) {
259
+ clearTimeout(this.timer);
260
+ this.timer = null;
261
+ }
262
+ // Invariant: run onStallCallback before resolving stallCallbacks. Both are
263
+ // synchronous, so both observe session state as it was at the instant of
264
+ // the stall — before the rejected waitForStall() promise propagates (a
265
+ // microtask) into the managed stream's catch and mutates that state. The
266
+ // stall_reason classifier (orchestrator onStall) relies on this to read
267
+ // session.isAwaitingUpstream() while it still reflects the stalled await.
268
+ try {
269
+ this.onStallCallback?.(this.stallError);
270
+ }
271
+ catch {
272
+ // Callback failure must not prevent stall detection from working
273
+ }
274
+ for (const callback of this.stallCallbacks) {
275
+ callback(this.stallError);
276
+ }
277
+ this.stallCallbacks = [];
278
+ }
279
+ fireFirstTokenStall() {
280
+ if (!this.session.isPending() || this.stallError) {
281
+ return;
282
+ }
283
+ if (this.shouldSuppressStall()) {
284
+ this.armFirstTokenTimer();
285
+ return;
286
+ }
287
+ this.emitStall(new StallTimeoutError(this.session.getTimeSinceLastContent(), this.firstTokenArmedBudget, "first-token"));
288
+ }
289
+ fireCompactionSummaryStall() {
290
+ if (!this.session.isPending() || this.stallError) {
291
+ return;
292
+ }
293
+ if (this.shouldSuppressStall()) {
294
+ this.armCompactionSummaryTimer();
295
+ return;
296
+ }
297
+ this.emitStall(new StallTimeoutError(this.session.getTimeSinceLastContent(), this.compactionSummaryArmedBudget, "compaction"));
173
298
  }
174
299
  fireStall() {
175
- if (!this.session.isPending()) {
300
+ if (!this.session.isPending() || this.stallError) {
176
301
  return;
177
302
  }
178
303
  // The timer fired on a wall-clock budget, but the gap may be local work —
@@ -196,48 +321,12 @@ export class IdleMonitor {
196
321
  // timer would never re-arm, and stall detection would be dead for the rest
197
322
  // of the session. On error, fall through and fire the stall — a real stall
198
323
  // surfacing is safer than one being silently swallowed.
199
- let shouldPause = false;
200
- try {
201
- shouldPause = this.shouldPause?.() ?? false;
202
- }
203
- catch {
204
- // A shouldPause failure must not break stall monitoring.
205
- }
206
- if (shouldPause) {
207
- // Emit one onPause event at the start of each suppression stretch so a
208
- // long local wait (e.g. a tool that never returns) is observable, without
209
- // logging on every re-arm. The flag clears on the next real chunk/step/
210
- // retry, so a later stuck stretch emits again.
211
- if (!this.pausedThisStretch) {
212
- this.pausedThisStretch = true;
213
- try {
214
- this.onPauseCallback?.();
215
- }
216
- catch {
217
- // A callback/logging failure must not break stall monitoring.
218
- }
219
- }
324
+ if (this.shouldSuppressStall()) {
220
325
  this.armTimer();
221
326
  return;
222
327
  }
223
328
  const idleTime = this.session.getTimeSinceLastActivity();
224
- this.stallError = new StallTimeoutError(idleTime, this.armedBudget.timeoutMs, this.armedBudget.budgetKind);
225
- // Invariant: run onStallCallback before resolving stallCallbacks. Both are
226
- // synchronous, so both observe session state as it was at the instant of
227
- // the stall — before the rejected waitForStall() promise propagates (a
228
- // microtask) into the managed stream's catch and mutates that state. The
229
- // stall_reason classifier (orchestrator onStall) relies on this to read
230
- // session.isAwaitingUpstream() while it still reflects the stalled await.
231
- try {
232
- this.onStallCallback?.(this.stallError);
233
- }
234
- catch {
235
- // Callback failure must not prevent stall detection from working
236
- }
237
- for (const callback of this.stallCallbacks) {
238
- callback(this.stallError);
239
- }
240
- this.stallCallbacks = [];
329
+ this.emitStall(new StallTimeoutError(idleTime, this.armedBudget.timeoutMs, this.armedBudget.budgetKind));
241
330
  }
242
331
  }
243
332
  //# sourceMappingURL=idle-monitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idle-monitor.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/idle-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idle-monitor.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/idle-monitor.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@
42
42
  * }
43
43
  * ```
44
44
  */
45
- export { StreamConfig, defaultFirstChunkTimeoutMs } from "./config.js";
45
+ export { StreamConfig, DEFAULT_FIRST_TOKEN_TIMEOUT_MS, DEFAULT_COMPACTION_SUMMARY_TIMEOUT_MS, } from "./config.js";
46
46
  export type { RetryConfigOptions, RetryBudget, RetryBudgetResolver, ProviderType, CoreModelType, FallbackStrategy, FallbackConfigOptions, } from "./config.js";
47
47
  export type { StreamObserver } from "./observer.js";
48
48
  export { StreamOrchestrator } from "./orchestrator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACvE,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EACL,YAAY,EACZ,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC"}
@@ -42,7 +42,7 @@
42
42
  * }
43
43
  * ```
44
44
  */
45
- export { StreamConfig, defaultFirstChunkTimeoutMs } from "./config.js";
45
+ export { StreamConfig, DEFAULT_FIRST_TOKEN_TIMEOUT_MS, DEFAULT_COMPACTION_SUMMARY_TIMEOUT_MS, } from "./config.js";
46
46
  export { StreamOrchestrator } from "./orchestrator.js";
47
47
  export { LoggingObserver, LLMObsObserver, ContextObserver, RetryNotificationObserver, wrapToolsForObservability, } from "./observers/index.js";
48
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAavE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EACL,YAAY,EACZ,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,aAAa,CAAC;AAarB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,eAAe,EACf,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { Logger } from "../../../../util/logger.js";
2
2
  import type { Tool } from "../../../agent/tools2/types.js";
3
3
  import type { LLMObsTracer } from "../../../llmobs/index.js";
4
+ import { LLMProviderError } from "../../error.js";
4
5
  import type { ErrorCategory } from "../../error.js";
5
6
  import type { StreamConfig } from "../config.js";
6
7
  import type { StreamEventBus } from "../event-bus.js";
@@ -10,8 +11,9 @@ export interface ClassifiedError {
10
11
  code?: string | number;
11
12
  isRetryable: boolean;
12
13
  message: string;
14
+ providerErrorType?: string;
13
15
  }
14
- export declare function classifyError(error: unknown): ClassifiedError;
16
+ export declare function classifyError(error: unknown, provider?: LLMProviderError["provider"]): ClassifiedError;
15
17
  export interface LLMObsObserverOptions {
16
18
  tracer: LLMObsTracer;
17
19
  logger: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"llmobs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/stream/observers/llmobs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAcpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAqD7D;AAYD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAC,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAkB;gBAEvB,OAAO,EAAE,qBAAqB;IAK1C,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAsC3D,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,OAAO;IA+Bf,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,OAAO;IA8Bf,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,cAAc;CA0CvB;AAmLD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1E,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,GACnB,KAAK,CAuDP"}
1
+ {"version":3,"file":"llmobs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/stream/observers/llmobs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAsB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAcpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAaD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,gBAAgB,CAAC,UAAU,CAAe,GACnD,eAAe,CAgFjB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,KAAK,CAAC,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAkB;gBAEvB,OAAO,EAAE,qBAAqB;IAK1C,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAsC3D,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,OAAO;IA+Bf,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,OAAO;IA+Bf,OAAO,CAAC,UAAU;IA4BlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,cAAc;CA0CvB;AAmLD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1E,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,GACnB,KAAK,CAuDP"}