@superblocksteam/vite-plugin-file-sync 2.0.130-next.1 → 2.0.130-next.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 (131) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  3. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  4. package/dist/ai-service/agent/tool-message-utils.js +30 -0
  5. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  6. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +11 -1
  7. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  8. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +144 -29
  9. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  10. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  11. package/dist/ai-service/agent/utils.js +6 -1
  12. package/dist/ai-service/agent/utils.js.map +1 -1
  13. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  14. package/dist/ai-service/app-skills/helpers.js +17 -18
  15. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  16. package/dist/ai-service/chat/chat-push-metrics.d.ts +12 -0
  17. package/dist/ai-service/chat/chat-push-metrics.d.ts.map +1 -0
  18. package/dist/ai-service/chat/chat-push-metrics.js +68 -0
  19. package/dist/ai-service/chat/chat-push-metrics.js.map +1 -0
  20. package/dist/ai-service/chat/chat-session-store.d.ts +61 -5
  21. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  22. package/dist/ai-service/chat/chat-session-store.js +214 -8
  23. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  24. package/dist/ai-service/chat/transcript-budget.d.ts +108 -0
  25. package/dist/ai-service/chat/transcript-budget.d.ts.map +1 -0
  26. package/dist/ai-service/chat/transcript-budget.js +175 -0
  27. package/dist/ai-service/chat/transcript-budget.js.map +1 -0
  28. package/dist/ai-service/chat/transcript-metrics.d.ts +16 -0
  29. package/dist/ai-service/chat/transcript-metrics.d.ts.map +1 -0
  30. package/dist/ai-service/chat/transcript-metrics.js +128 -0
  31. package/dist/ai-service/chat/transcript-metrics.js.map +1 -0
  32. package/dist/ai-service/context-download.d.ts.map +1 -1
  33. package/dist/ai-service/context-download.js +48 -1
  34. package/dist/ai-service/context-download.js.map +1 -1
  35. package/dist/ai-service/context-upload.d.ts.map +1 -1
  36. package/dist/ai-service/context-upload.js +10 -0
  37. package/dist/ai-service/context-upload.js.map +1 -1
  38. package/dist/ai-service/index.d.ts.map +1 -1
  39. package/dist/ai-service/index.js +4 -0
  40. package/dist/ai-service/index.js.map +1 -1
  41. package/dist/ai-service/llm/clark-stream-telemetry-sink.d.ts +4 -0
  42. package/dist/ai-service/llm/clark-stream-telemetry-sink.d.ts.map +1 -0
  43. package/dist/ai-service/llm/clark-stream-telemetry-sink.js +105 -0
  44. package/dist/ai-service/llm/clark-stream-telemetry-sink.js.map +1 -0
  45. package/dist/ai-service/llm/client.d.ts.map +1 -1
  46. package/dist/ai-service/llm/client.js +63 -39
  47. package/dist/ai-service/llm/client.js.map +1 -1
  48. package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts.map +1 -1
  49. package/dist/ai-service/llm/context-v2/compaction/client-side.js +10 -1
  50. package/dist/ai-service/llm/context-v2/compaction/client-side.js.map +1 -1
  51. package/dist/ai-service/llm/context-v2/context.d.ts +14 -0
  52. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  53. package/dist/ai-service/llm/context-v2/context.js +94 -3
  54. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  55. package/dist/ai-service/llm/context-v2/storage/event-types.d.ts +10 -1
  56. package/dist/ai-service/llm/context-v2/storage/event-types.d.ts.map +1 -1
  57. package/dist/ai-service/llm/context-v2/storage/event-types.js +7 -1
  58. package/dist/ai-service/llm/context-v2/storage/event-types.js.map +1 -1
  59. package/dist/ai-service/llm/stream/config.d.ts +30 -0
  60. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  61. package/dist/ai-service/llm/stream/config.js +34 -17
  62. package/dist/ai-service/llm/stream/config.js.map +1 -1
  63. package/dist/ai-service/llm/stream/errors.d.ts +10 -1
  64. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
  65. package/dist/ai-service/llm/stream/errors.js +3 -1
  66. package/dist/ai-service/llm/stream/errors.js.map +1 -1
  67. package/dist/ai-service/llm/stream/idle-monitor.d.ts +34 -4
  68. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  69. package/dist/ai-service/llm/stream/idle-monitor.js +90 -6
  70. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  71. package/dist/ai-service/llm/stream/index.d.ts +1 -1
  72. package/dist/ai-service/llm/stream/index.d.ts.map +1 -1
  73. package/dist/ai-service/llm/stream/index.js.map +1 -1
  74. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  75. package/dist/ai-service/llm/stream/managed-stream.js +11 -0
  76. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  77. package/dist/ai-service/llm/stream/orchestrator.d.ts +19 -0
  78. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  79. package/dist/ai-service/llm/stream/orchestrator.js +387 -33
  80. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  81. package/dist/ai-service/llm/stream/retry-engine.d.ts +18 -2
  82. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  83. package/dist/ai-service/llm/stream/retry-engine.js +76 -3
  84. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  85. package/dist/ai-service/llm/stream/session.d.ts +6 -0
  86. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  87. package/dist/ai-service/llm/stream/session.js +28 -0
  88. package/dist/ai-service/llm/stream/session.js.map +1 -1
  89. package/dist/ai-service/llm/stream/types.d.ts +1 -0
  90. package/dist/ai-service/llm/stream/types.d.ts.map +1 -1
  91. package/dist/ai-service/llm/stream/wait-state-tracker.d.ts +54 -0
  92. package/dist/ai-service/llm/stream/wait-state-tracker.d.ts.map +1 -0
  93. package/dist/ai-service/llm/stream/wait-state-tracker.js +105 -0
  94. package/dist/ai-service/llm/stream/wait-state-tracker.js.map +1 -0
  95. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  96. package/dist/ai-service/state-machine/clark-fsm.js +13 -7
  97. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  98. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  99. package/dist/ai-service/state-machine/handlers/agent-planning.js +55 -43
  100. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  101. package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.d.ts +11 -0
  102. package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.d.ts.map +1 -0
  103. package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.js +11 -0
  104. package/dist/ai-service/state-machine/handlers/flush-pending-chat-pushes.js.map +1 -0
  105. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  106. package/dist/ai-service/state-machine/handlers/llm-generating.js +10 -0
  107. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  108. package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.d.ts +8 -0
  109. package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.d.ts.map +1 -0
  110. package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.js +52 -0
  111. package/dist/ai-service/state-machine/helpers/background-chat-record-metrics.js.map +1 -0
  112. package/dist/ai-service/state-machine/helpers/background-chat-record.d.ts +33 -0
  113. package/dist/ai-service/state-machine/helpers/background-chat-record.d.ts.map +1 -0
  114. package/dist/ai-service/state-machine/helpers/background-chat-record.js +61 -0
  115. package/dist/ai-service/state-machine/helpers/background-chat-record.js.map +1 -0
  116. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  117. package/dist/ai-service/state-machine/mocks.js +1 -0
  118. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  119. package/dist/ai-service/tasks/peer-push.d.ts +7 -4
  120. package/dist/ai-service/tasks/peer-push.d.ts.map +1 -1
  121. package/dist/ai-service/tasks/peer-push.js +7 -4
  122. package/dist/ai-service/tasks/peer-push.js.map +1 -1
  123. package/dist/migration-templates/app-fullstack/package.json +1 -1
  124. package/dist/socket-manager.d.ts +2 -1
  125. package/dist/socket-manager.d.ts.map +1 -1
  126. package/dist/socket-manager.js +17 -6
  127. package/dist/socket-manager.js.map +1 -1
  128. package/dist/util/logger.d.ts +1 -0
  129. package/dist/util/logger.d.ts.map +1 -1
  130. package/dist/util/logger.js.map +1 -1
  131. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { StreamConfig, ProviderType, CoreModelType } from "./config.js";
2
2
  import type { StreamSession } from "./session.js";
3
3
  import type { ProviderInfo } from "./types.js";
4
+ import type { WaitState } from "./wait-state-tracker.js";
4
5
  export interface FallbackAttempt {
5
6
  provider: ProviderType;
6
7
  model: CoreModelType;
@@ -9,7 +10,14 @@ export interface RetryDecision {
9
10
  shouldRetry: boolean;
10
11
  delayMs: number;
11
12
  newProvider?: ProviderInfo;
12
- reason?: "non-retryable" | "max-attempts" | "max-time" | "aborted" | "auth_error" | "not_found" | "rate_limit" | "api_error";
13
+ /**
14
+ * True when this fallback was taken via the stall fast-fallback path (a stall
15
+ * left the provider immediately instead of spending its remaining per-provider
16
+ * attempts). Surfaced so the orchestrator can tag the switch in structured
17
+ * logs, making the fast-fallback path queryable in production.
18
+ */
19
+ fastFallback?: boolean;
20
+ reason?: "non-retryable" | "max-attempts" | "max-time" | "aborted" | "auth_error" | "not_found" | "rate_limit" | "api_error" | "local-wait";
13
21
  }
14
22
  /**
15
23
  * Engine for making retry and fallback decisions.
@@ -40,7 +48,7 @@ export declare class RetryEngine {
40
48
  private fallbackIndex;
41
49
  constructor(config: StreamConfig);
42
50
  private getMaxAttemptsForProvider;
43
- getRetryDecision(error: unknown, session: StreamSession, abortSignal?: AbortSignal): RetryDecision;
51
+ getRetryDecision(error: unknown, session: StreamSession, abortSignal?: AbortSignal, currentWaitState?: WaitState): RetryDecision;
44
52
  getInitialProvider(): ProviderInfo;
45
53
  resetFallback(): void;
46
54
  isRetryable(error: unknown): boolean;
@@ -50,6 +58,14 @@ export declare class RetryEngine {
50
58
  private isRetryErrorLike;
51
59
  private calculateDelay;
52
60
  private advanceFallback;
61
+ /**
62
+ * Peek the next fallback-chain entry without advancing. Returns undefined when
63
+ * fallback is disabled or the chain is exhausted. Used to decide whether a
64
+ * stall should leave the current provider (next entry is a different
65
+ * provider) before consuming the chain. See APPS-4775.
66
+ */
67
+ private peekNextProvider;
68
+ private isStallTimeout;
53
69
  /**
54
70
  * Build the fallback chain based on initial provider/model and strategy.
55
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"retry-engine.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EACH,eAAe,GACf,cAAc,GACd,UAAU,GACV,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY;IAKhC,OAAO,CAAC,yBAAyB;IAkBjC,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,WAAW,GACxB,aAAa;IAoEhB,kBAAkB,IAAI,YAAY;IAWlC,aAAa,IAAI,IAAI;IAIrB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAepC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAcvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;CAyF3B"}
1
+ {"version":3,"file":"retry-engine.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EACH,eAAe,GACf,cAAc,GACd,UAAU,GACV,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY;IAKhC,OAAO,CAAC,yBAAyB;IAkBjC,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,SAAS,GAC3B,aAAa;IA+HhB,kBAAkB,IAAI,YAAY;IAWlC,aAAa,IAAI,IAAI;IAIrB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAepC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;CAyF3B"}
@@ -1,5 +1,6 @@
1
1
  import { APICallError } from "ai";
2
2
  import { hasRetryableProperty } from "../error.js";
3
+ import { StallTimeoutError } from "./errors.js";
3
4
  /**
4
5
  * Engine for making retry and fallback decisions.
5
6
  *
@@ -45,7 +46,7 @@ export class RetryEngine {
45
46
  }
46
47
  return attemptsForProvider[provider.model] ?? 2;
47
48
  }
48
- getRetryDecision(error, session, abortSignal) {
49
+ getRetryDecision(error, session, abortSignal, currentWaitState) {
49
50
  if (abortSignal?.aborted) {
50
51
  return { shouldRetry: false, delayMs: 0, reason: "aborted" };
51
52
  }
@@ -75,6 +76,57 @@ export class RetryEngine {
75
76
  if (session.attempt >= maxAttempts) {
76
77
  return { shouldRetry: false, delayMs: 0, reason: "max-attempts" };
77
78
  }
79
+ // A stall means the current provider/model path went silent. Retrying the
80
+ // SAME provider just burns another idle budget re-stalling — the dominant
81
+ // Snowflake-Cortex first-chunk signature. So when the next fallback entry is
82
+ // a DIFFERENT provider, leave the stalling one immediately on the first
83
+ // stall (same model, different provider) instead of spending the
84
+ // per-provider attempt budget re-running the silent path. Still bounded by
85
+ // the maxAttempts cap above, and only triggers when an actually-different
86
+ // provider is available, so model-first chains keep their existing
87
+ // semantics. This fires for BOTH stall budget kinds — "first-chunk" (the
88
+ // dominant Snowflake-Cortex signature: never sent content) and "inter-chunk"
89
+ // (content flowed then stopped) — because either way the provider path is
90
+ // stuck and the same recovery applies.
91
+ if (this.isStallTimeout(error)) {
92
+ // A stall that surfaces while we're blocked on local work — a running
93
+ // tool or a gap between steps — must NOT switch provider or model. A
94
+ // different provider can't make a local tool finish faster, so switching
95
+ // just wastes attempts on a problem that isn't the provider's. Retry the
96
+ // same provider instead. The idle monitor normally suppresses these
97
+ // before they get here; this catches the rare one that slips through. The
98
+ // maxAttempts cap checked above still applies, so it can't loop forever.
99
+ // See APPS-4605.
100
+ if (currentWaitState?.state === "tool" ||
101
+ currentWaitState?.state === "step-boundary") {
102
+ // Flat delay, not exponential backoff: this is a narrow race recovery,
103
+ // not provider overload. The problem is a local tool still running, so
104
+ // waiting longer before re-reading the same provider buys nothing — it
105
+ // just adds dead stream downtime. See APPS-4605.
106
+ return {
107
+ shouldRetry: true,
108
+ delayMs: this.config.retry.initialDelayMs,
109
+ reason: "local-wait",
110
+ };
111
+ }
112
+ const next = this.peekNextProvider();
113
+ if (next && next.name !== session.provider.name) {
114
+ const newProvider = this.advanceFallback(error);
115
+ if (newProvider) {
116
+ session.resetProviderAttempts();
117
+ // Delay uses the global attempt count (not the per-provider counter
118
+ // reset above) so backoff pressure grows monotonically across the
119
+ // session even when providers are skipped early.
120
+ const delayMs = this.calculateDelay(session.attempt);
121
+ return {
122
+ shouldRetry: true,
123
+ delayMs,
124
+ newProvider,
125
+ fastFallback: true,
126
+ };
127
+ }
128
+ }
129
+ }
78
130
  // Exhausted attempts for the current provider? Advance the fallback chain.
79
131
  // This is checked BEFORE the max-time guard on purpose (APPS-4641): a fresh,
80
132
  // untried provider is exactly the recovery we want, so an available fallback
@@ -94,9 +146,11 @@ export class RetryEngine {
94
146
  // No fallback to advance to — only a same-provider retry remains. Enforce
95
147
  // the content-based budget here so we don't burn another stall on a stuck
96
148
  // provider. Measured from the last CONTENT chunk, not keep-alives, so
97
- // server-side heartbeats can't extend the budget (APPS-4641).
149
+ // server-side heartbeats can't extend the budget (APPS-4641). The budget is
150
+ // resolved against the CURRENT model so a downgraded model is bounded by its
151
+ // own max-time, not the initial model's (APPS-4775).
98
152
  const timeSinceContent = session.getTimeSinceLastContent();
99
- const { maxTotalTimeMs } = this.config.retry;
153
+ const { maxTotalTimeMs } = this.config.retry.budgetForModel(session.provider.model);
100
154
  if (timeSinceContent >= maxTotalTimeMs) {
101
155
  return { shouldRetry: false, delayMs: 0, reason: "max-time" };
102
156
  }
@@ -155,6 +209,25 @@ export class RetryEngine {
155
209
  const next = this.fallbackChain[this.fallbackIndex];
156
210
  return { name: next.provider, model: next.model };
157
211
  }
212
+ /**
213
+ * Peek the next fallback-chain entry without advancing. Returns undefined when
214
+ * fallback is disabled or the chain is exhausted. Used to decide whether a
215
+ * stall should leave the current provider (next entry is a different
216
+ * provider) before consuming the chain. See APPS-4775.
217
+ */
218
+ peekNextProvider() {
219
+ if (!this.config.fallback.enabled || this.fallbackChain.length === 0) {
220
+ return undefined;
221
+ }
222
+ if (this.fallbackIndex >= this.fallbackChain.length - 1) {
223
+ return undefined;
224
+ }
225
+ const next = this.fallbackChain[this.fallbackIndex + 1];
226
+ return { name: next.provider, model: next.model };
227
+ }
228
+ isStallTimeout(error) {
229
+ return error instanceof StallTimeoutError;
230
+ }
158
231
  /**
159
232
  * Build the fallback chain based on initial provider/model and strategy.
160
233
  *
@@ -1 +1 @@
1
- {"version":3,"file":"retry-engine.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-engine.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,8 @@ export declare class StreamSession {
50
50
  outcome: SessionOutcome;
51
51
  private lastActivityTime;
52
52
  private lastContentTime;
53
+ private lastPullTime;
54
+ private awaitingUpstream;
53
55
  constructor(options: StreamSessionOptions);
54
56
  /**
55
57
  * Finalize the session with an outcome.
@@ -71,6 +73,10 @@ export declare class StreamSession {
71
73
  getTimeSinceLastActivity(): number;
72
74
  getTimeSinceLastContent(): number;
73
75
  resetActivityTimer(): void;
76
+ recordPull(): void;
77
+ getTimeSinceLastPull(): number | undefined;
78
+ setAwaitingUpstream(awaiting: boolean): void;
79
+ isAwaitingUpstream(): boolean;
74
80
  recordContentProgress(): void;
75
81
  }
76
82
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MACZ,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MACrB,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;IAEd,OAAO,SAAK;IACZ,eAAe,SAAK;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAOpB;IACF,KAAK,EAAE,OAAO,CAAQ;IACtB,OAAO,EAAE,cAAc,CAAa;IAKpC,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAS;gBAEpB,OAAO,EAAE,oBAAoB;IAczC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAsB5E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQlC,aAAa,IAAI,IAAI;IAKrB,qBAAqB,IAAI,IAAI;IAI7B,WAAW,IAAI,IAAI;IASnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAQtB,wBAAwB,IAAI,MAAM;IAOlC,uBAAuB,IAAI,MAAM;IAIjC,kBAAkB,IAAI,IAAI;IAQ1B,qBAAqB,IAAI,IAAI;CAI9B"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MACZ,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MACrB,IAAI,CACF,YAAY,EAEV,cAAc,GACd,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,gBAAgB,CACnB,GACD,SAAS,CAAC;IAEd,OAAO,SAAK;IACZ,eAAe,SAAK;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAOpB;IACF,KAAK,EAAE,OAAO,CAAQ;IACtB,OAAO,EAAE,cAAc,CAAa;IAKpC,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,YAAY,CAAqB;IAOzC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,oBAAoB;IAezC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAsB5E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQlC,aAAa,IAAI,IAAI;IAKrB,qBAAqB,IAAI,IAAI;IAI7B,WAAW,IAAI,IAAI;IASnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAQtB,wBAAwB,IAAI,MAAM;IAOlC,uBAAuB,IAAI,MAAM;IAIjC,kBAAkB,IAAI,IAAI;IAI1B,UAAU,IAAI,IAAI;IAIlB,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAS1C,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI5C,kBAAkB,IAAI,OAAO;IAQ7B,qBAAqB,IAAI,IAAI;CAI9B"}
@@ -27,11 +27,22 @@ export class StreamSession {
27
27
  lastActivityTime;
28
28
  // tracks when we last received a content chunk (NOT reset by keep-alives or retries).
29
29
  lastContentTime;
30
+ // tracks when the downstream consumer last pulled from the managed stream.
31
+ // Emitted as ms_since_last_pull on stall logs for triage (APPS-4729).
32
+ lastPullTime;
33
+ // true while the managed stream is suspended in `await iterator.next()`,
34
+ // false once control returns to the downstream consumer. Discriminates a
35
+ // "network dark" stall (timer fires while we're blocked on upstream) from a
36
+ // "consumer blocked" stall (timer fires while the consumer holds the stream
37
+ // and isn't pulling, e.g. awaiting a downstream RPC). A boolean, not a timing
38
+ // comparison, so it doesn't degrade near the idle-budget boundary (APPS-4729).
39
+ awaitingUpstream = false;
30
40
  constructor(options) {
31
41
  this.id = crypto.randomUUID();
32
42
  this.startTime = Date.now();
33
43
  this.lastActivityTime = this.startTime;
34
44
  this.lastContentTime = this.startTime;
45
+ this.lastPullTime = undefined;
35
46
  this.config = options.config;
36
47
  this.provider = options.initialProvider;
37
48
  this.organizationId = options.organizationId;
@@ -115,6 +126,23 @@ export class StreamSession {
115
126
  resetActivityTimer() {
116
127
  this.lastActivityTime = Date.now();
117
128
  }
129
+ recordPull() {
130
+ this.lastPullTime = Date.now();
131
+ }
132
+ getTimeSinceLastPull() {
133
+ return this.lastPullTime === undefined
134
+ ? undefined
135
+ : Date.now() - this.lastPullTime;
136
+ }
137
+ // Should only be called by createManagedStream's pull loop, symmetrically
138
+ // around its `await raceWithStallDetection(iterator.next(), ...)`. Setting it
139
+ // from anywhere else corrupts stall_reason classification for a live stream.
140
+ setAwaitingUpstream(awaiting) {
141
+ this.awaitingUpstream = awaiting;
142
+ }
143
+ isAwaitingUpstream() {
144
+ return this.awaitingUpstream;
145
+ }
118
146
  // Advances both the liveness clock and the retry-budget content clock without
119
147
  // touching content metrics (chunkCount / timeToFirstTokenMs). For upstream
120
148
  // chunks that are real model output — proof of progress — but are filtered
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA+ChD,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,SAAS,CAAS;IAClB,MAAM,CAAiB;IACvB,MAAM,CAAe;IACrB,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,MAAM,CAA4B;IAClC,aAAa,CAYR;IAEd,OAAO,GAAG,CAAC,CAAC;IACZ,eAAe,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAe;IACvB,OAAO,GAAkB;QACvB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,SAAS;KAC9B,CAAC;IACF,KAAK,GAAY,IAAI,CAAC;IACtB,OAAO,GAAmB,SAAS,CAAC;IAEpC,6EAA6E;IAC7E,4EAA4E;IAC5E,iFAAiF;IACzE,gBAAgB,CAAS;IACjC,sFAAsF;IAC9E,eAAe,CAAS;IAChC,2EAA2E;IAC3E,sEAAsE;IAC9D,YAAY,CAAqB;IACzC,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IACvE,gBAAgB,GAAG,KAAK,CAAC;IAEjC,YAAY,OAA6B;QACvC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAA2C,EAAE,KAAe;QACnE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtD,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,UAAU;gBACb,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,OAAO;gBACV,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,SAAS;gBACZ,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM;QACV,CAAC;IACH,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,MAAc;QAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;IACpC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,+DAA+D;IAC/D,wBAAwB;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;IAChF,uBAAuB;QACrB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;IAC3C,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;IACrC,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,mBAAmB,CAAC,QAAiB;QACnC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,mEAAmE;IACnE,qBAAqB;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;CACF"}
@@ -12,4 +12,5 @@ export interface StreamMetrics {
12
12
  timeToFirstTokenMs?: number;
13
13
  }
14
14
  export type SessionOutcome = "pending" | "complete" | "error" | "aborted";
15
+ export type StallReason = "network-dark" | "consumer-blocked";
15
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAO1E,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { StreamSession } from "./session.js";
2
+ /**
3
+ * What the agent is waiting on right now, worked out from the stream events.
4
+ *
5
+ * - `provider`: waiting on the AI model to send the next bytes, with no tool
6
+ * running. This is plain model silence.
7
+ * - `tool`: the model asked to run a tool and we're still running it locally;
8
+ * the result hasn't come back yet. A hang here is our slow tool, not the
9
+ * model going silent.
10
+ * - `step-boundary`: one step finished and the next hasn't started yet, so
11
+ * we're in the gap between steps.
12
+ */
13
+ export type WaitState = {
14
+ state: "provider";
15
+ } | {
16
+ state: "step-boundary";
17
+ } | {
18
+ state: "tool";
19
+ toolName: string;
20
+ toolCallId: string;
21
+ pendingToolCount: number;
22
+ };
23
+ /**
24
+ * Watches a stream's events so that, when the stall timer fires, we can say
25
+ * what the agent was actually stuck on.
26
+ *
27
+ * The stall timer only knows that nothing arrived for too long; it can't tell
28
+ * the model going silent apart from a slow local tool or a gap between steps.
29
+ * This tracker listens to the same events the timer resets on (tool calls and
30
+ * results in the stream, plus step start/finish) and reports the current wait
31
+ * state plus how many keep-alive pings arrived during the silence.
32
+ *
33
+ * Logs no customer data: it only reads the event type, the tool name, and the
34
+ * tool call id.
35
+ */
36
+ export declare class WaitStateTracker {
37
+ private readonly pendingTools;
38
+ private betweenSteps;
39
+ private rawResetCount;
40
+ constructor(session: StreamSession);
41
+ getWaitState(): WaitState;
42
+ /**
43
+ * How many keep-alive pings arrived during the current stretch of silence
44
+ * (since the last real progress: content, a tool event, a step start, or a
45
+ * retry). Reset on each of those, so a stall reports only the pings from the
46
+ * silence that caused it, not every ping in the whole run.
47
+ */
48
+ getRawResetCount(): number;
49
+ private handleChunk;
50
+ private handleStepStart;
51
+ private handleStepFinish;
52
+ private handleRetry;
53
+ }
54
+ //# sourceMappingURL=wait-state-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-state-tracker.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/wait-state-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GACrB;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,GAC1B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAuBN;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAK;gBAEd,OAAO,EAAE,aAAa;IAOlC,YAAY,IAAI,SAAS;IAqBzB;;;;;OAKG;IACH,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,WAAW,CA0BjB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,WAAW,CAMjB;CACH"}
@@ -0,0 +1,105 @@
1
+ function asToolCall(chunk) {
2
+ // Checking the type narrows it to a tool-call, so toolCallId/toolName are
3
+ // already typed strings here — no cast needed.
4
+ if (chunk.type !== "tool-call") {
5
+ return undefined;
6
+ }
7
+ return { toolCallId: chunk.toolCallId, toolName: chunk.toolName };
8
+ }
9
+ function asToolResultId(chunk) {
10
+ if (chunk.type !== "tool-result") {
11
+ return undefined;
12
+ }
13
+ return chunk.toolCallId;
14
+ }
15
+ /**
16
+ * Watches a stream's events so that, when the stall timer fires, we can say
17
+ * what the agent was actually stuck on.
18
+ *
19
+ * The stall timer only knows that nothing arrived for too long; it can't tell
20
+ * the model going silent apart from a slow local tool or a gap between steps.
21
+ * This tracker listens to the same events the timer resets on (tool calls and
22
+ * results in the stream, plus step start/finish) and reports the current wait
23
+ * state plus how many keep-alive pings arrived during the silence.
24
+ *
25
+ * Logs no customer data: it only reads the event type, the tool name, and the
26
+ * tool call id.
27
+ */
28
+ export class WaitStateTracker {
29
+ pendingTools = new Map();
30
+ betweenSteps = false;
31
+ rawResetCount = 0;
32
+ constructor(session) {
33
+ session.events.on("chunk", this.handleChunk);
34
+ session.events.on("step:start", this.handleStepStart);
35
+ session.events.on("step:finish", this.handleStepFinish);
36
+ session.events.on("retry", this.handleRetry);
37
+ }
38
+ getWaitState() {
39
+ if (this.pendingTools.size > 0) {
40
+ // Usually only one tool runs at a time, so the last one started is the
41
+ // one running now. A Map keeps insertion order, so the last entry is it.
42
+ let latest;
43
+ for (const tool of this.pendingTools.values()) {
44
+ latest = tool;
45
+ }
46
+ return {
47
+ state: "tool",
48
+ toolName: latest.toolName,
49
+ toolCallId: latest.toolCallId,
50
+ pendingToolCount: this.pendingTools.size,
51
+ };
52
+ }
53
+ if (this.betweenSteps) {
54
+ return { state: "step-boundary" };
55
+ }
56
+ return { state: "provider" };
57
+ }
58
+ /**
59
+ * How many keep-alive pings arrived during the current stretch of silence
60
+ * (since the last real progress: content, a tool event, a step start, or a
61
+ * retry). Reset on each of those, so a stall reports only the pings from the
62
+ * silence that caused it, not every ping in the whole run.
63
+ */
64
+ getRawResetCount() {
65
+ return this.rawResetCount;
66
+ }
67
+ handleChunk = (chunk) => {
68
+ if (chunk.type === "raw") {
69
+ this.rawResetCount += 1;
70
+ return;
71
+ }
72
+ // Anything that isn't a keep-alive is real progress, so a new stretch of
73
+ // silence starts and the ping count restarts. Without this, pings from an
74
+ // earlier silence would inflate the count at a later, unrelated stall.
75
+ this.rawResetCount = 0;
76
+ const toolCall = asToolCall(chunk);
77
+ if (toolCall) {
78
+ this.pendingTools.set(toolCall.toolCallId, toolCall);
79
+ return;
80
+ }
81
+ const toolResultId = asToolResultId(chunk);
82
+ if (toolResultId) {
83
+ this.pendingTools.delete(toolResultId);
84
+ return;
85
+ }
86
+ // Real model output means it's producing again, so we're no longer sitting
87
+ // in the gap between steps.
88
+ this.betweenSteps = false;
89
+ };
90
+ handleStepStart = () => {
91
+ this.rawResetCount = 0;
92
+ this.betweenSteps = false;
93
+ };
94
+ handleStepFinish = () => {
95
+ this.betweenSteps = true;
96
+ };
97
+ handleRetry = () => {
98
+ // A retry starts over from scratch: drop any tool the failed attempt had
99
+ // running, reset the ping count, and go back to waiting on the model.
100
+ this.rawResetCount = 0;
101
+ this.pendingTools.clear();
102
+ this.betweenSteps = false;
103
+ };
104
+ }
105
+ //# sourceMappingURL=wait-state-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-state-tracker.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/wait-state-tracker.ts"],"names":[],"mappings":"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"}