@superblocksteam/vite-plugin-file-sync 2.0.131-next.1 → 2.0.132-next.0

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
@@ -3,22 +3,63 @@ import { safeJsonStringify } from "../../../../util/log-sanitizer.js";
3
3
  import { getJwtTraceTags } from "../../../llmobs/helpers.js";
4
4
  import { stripLengthyContent } from "../../../util/strip-content.js";
5
5
  import { getTotalInputTokens } from "../../context-v2/token-tracker.js";
6
- import { LLMProviderError } from "../../error.js";
7
- export function classifyError(error) {
6
+ import { isAPICallErrorLike, LLMProviderError } from "../../error.js";
7
+ import { RetriesExhaustedError } from "../errors.js";
8
+ function mapStatusCodeToCategory(statusCode) {
9
+ if (statusCode === 400 || statusCode === 413)
10
+ return "validation_error";
11
+ if (statusCode === 401 || statusCode === 403)
12
+ return "auth_error";
13
+ if (statusCode === 404)
14
+ return "not_found";
15
+ if (statusCode === 408 || statusCode === 504)
16
+ return "timeout";
17
+ if (statusCode === 429)
18
+ return "rate_limit";
19
+ if (statusCode === 503 || statusCode === 529)
20
+ return "overloaded";
21
+ if (statusCode !== undefined && statusCode >= 500)
22
+ return "api_error";
23
+ return "api_error";
24
+ }
25
+ export function classifyError(error, provider = "anthropic") {
26
+ if (error instanceof RetriesExhaustedError) {
27
+ if (error.cause === undefined) {
28
+ return {
29
+ category: "retries_exhausted",
30
+ isRetryable: false,
31
+ message: error.message,
32
+ };
33
+ }
34
+ const cause = classifyError(error.cause, provider);
35
+ return {
36
+ ...cause,
37
+ isRetryable: false,
38
+ message: `${error.message}: ${cause.message}`,
39
+ };
40
+ }
8
41
  if (LLMProviderError.isInstance(error)) {
9
42
  return {
10
43
  category: error.type,
11
44
  code: error.statusCode,
12
45
  isRetryable: error.isRetryable,
13
46
  message: error.message,
47
+ providerErrorType: error.data?.type,
14
48
  };
15
49
  }
16
- if (APICallError.isInstance(error)) {
50
+ if (APICallError.isInstance(error) || isAPICallErrorLike(error)) {
51
+ const providerError = new LLMProviderError({
52
+ provider,
53
+ cause: error,
54
+ });
17
55
  return {
18
- category: mapStatusCodeToCategory(error.statusCode),
19
- code: error.statusCode,
20
- isRetryable: error.isRetryable,
21
- message: error.message,
56
+ category: providerError.data?.type
57
+ ? providerError.type
58
+ : mapStatusCodeToCategory(providerError.statusCode),
59
+ code: providerError.statusCode,
60
+ isRetryable: providerError.isRetryable,
61
+ message: providerError.message,
62
+ providerErrorType: providerError.data?.type,
22
63
  };
23
64
  }
24
65
  if (error instanceof Error) {
@@ -51,24 +92,11 @@ export function classifyError(error) {
51
92
  return {
52
93
  category: "unknown",
53
94
  isRetryable: true,
54
- message: error instanceof Error ? error.message : String(error),
95
+ message: error instanceof Error
96
+ ? error.message
97
+ : safeJsonStringify({ error }) || String(error),
55
98
  };
56
99
  }
57
- function mapStatusCodeToCategory(statusCode) {
58
- if (!statusCode)
59
- return "unknown";
60
- if (statusCode === 401 || statusCode === 403)
61
- return "auth_error";
62
- if (statusCode === 429)
63
- return "rate_limit";
64
- if (statusCode === 408)
65
- return "timeout";
66
- if (statusCode >= 500 && statusCode < 600)
67
- return "api_error";
68
- if (statusCode >= 400 && statusCode < 500)
69
- return "validation_error";
70
- return "unknown";
71
- }
72
100
  const THINKING_SLOW_WARNING_MS = 15_000;
73
101
  /**
74
102
  * Observer that manages LLM Observability tracing spans.
@@ -217,11 +245,12 @@ export class LLMObsObserver {
217
245
  }
218
246
  onRetry(error, attempt, session) {
219
247
  if (this.fullSpan) {
220
- const classified = classifyError(error);
248
+ const classified = classifyError(error, session.provider.name);
221
249
  const retryMetadata = {
222
250
  error: classified.message,
223
251
  errorCategory: classified.category,
224
252
  errorCode: classified.code,
253
+ providerErrorType: classified.providerErrorType,
225
254
  isRetryable: classified.isRetryable,
226
255
  };
227
256
  this.tracer.annotate(this.fullSpan, {
@@ -264,11 +293,12 @@ export class LLMObsObserver {
264
293
  }
265
294
  onSessionError(error, session) {
266
295
  if (this.fullSpan) {
267
- const classified = classifyError(error);
296
+ const classified = classifyError(error, session.provider.name);
268
297
  const errorMetadata = {
269
298
  error: classified.message,
270
299
  errorCategory: classified.category,
271
300
  errorCode: classified.code,
301
+ providerErrorType: classified.providerErrorType,
272
302
  isRetryable: classified.isRetryable,
273
303
  };
274
304
  this.tracer.annotate(this.fullSpan, {
@@ -1 +1 @@
1
- {"version":3,"file":"llmobs.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/stream/observers/llmobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llmobs.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/stream/observers/llmobs.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ export type OrchestratorStreamTextOptions<TOOLS extends Record<string, Tool>> =
45
45
  * ```
46
46
  */
47
47
  export declare class StreamOrchestrator {
48
+ private readonly terminalSummariesObserved;
49
+ private readonly terminalSummaryErrors;
48
50
  private readonly provider;
49
51
  private readonly config;
50
52
  private readonly observers;
@@ -56,6 +58,8 @@ export declare class StreamOrchestrator {
56
58
  execute<TOOLS extends Record<string, Tool>>(options: OrchestratorStreamTextOptions<TOOLS>): Promise<StreamTextResult<TOOLS>>;
57
59
  private asAsyncIterableStream;
58
60
  private textStreamFromFullStream;
61
+ private logTerminalStreamSummary;
62
+ private terminalReason;
59
63
  /**
60
64
  * Wraps a fullStream with retry logic. When an error occurs (either thrown or
61
65
  * as an error chunk), makes a retry decision and either creates a new stream
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMpD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,MAAM,6BAA6B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAC1E,iBAAiB,CAAC,KAAK,CAAC,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AA+NJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2B;gBAEvC,OAAO,EAAE,yBAAyB;IAUxC,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC9C,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAC5C,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IA2SnC,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,wBAAwB;IAiChC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAuErB;;;OAGG;YACW,mBAAmB;YA6EnB,oBAAoB;IAuElC,OAAO,CAAC,cAAc;YA6BR,WAAW;IAkFzB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,aAAa;IA2DrB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAuE9B,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;OAOG;YACW,cAAc;IAuC5B,OAAO,CAAC,KAAK;CAmBd"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAMpD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,MAAM,6BAA6B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAC1E,iBAAiB,CAAC,KAAK,CAAC,GAAG;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAyPJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAgC;IAC1E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAGlC;IAEJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2B;gBAEvC,OAAO,EAAE,yBAAyB;IAUxC,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC9C,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAC5C,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAkTnC,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,wBAAwB;IAkEhC,OAAO,CAAC,cAAc;IA2CtB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAuErB;;;OAGG;YACW,mBAAmB;YA+EnB,oBAAoB;IAwElC,OAAO,CAAC,cAAc;YAuCR,WAAW;IAkFzB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,aAAa;IA2DrB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAuE9B,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;OAOG;YACW,cAAc;IAuC5B,OAAO,CAAC,KAAK;CAmBd"}
@@ -3,7 +3,7 @@ import { getErrorMeta, } from "../../../util/logger.js";
3
3
  import { buildThinkingProviderOptions } from "../../util/llm-config-utils.js";
4
4
  import { LLMProviderError } from "../error.js";
5
5
  import { getServerCompactionTextBlockUpdate } from "./compaction-text-block.js";
6
- import { AbortedError, RetriesExhaustedError, ToolExecutionTimeoutError, } from "./errors.js";
6
+ import { AbortedError, RetriesExhaustedError, StallTimeoutError, ToolExecutionTimeoutError, } from "./errors.js";
7
7
  import { IdleMonitor } from "./idle-monitor.js";
8
8
  import { createManagedStream } from "./managed-stream.js";
9
9
  import { RetryEngine } from "./retry-engine.js";
@@ -13,9 +13,10 @@ const DEFAULT_TOOL_EXECUTION_TIMEOUT_MS = 60_000;
13
13
  const METER_NAME = "superblocks.clark.tool_execution";
14
14
  const TOOL_EXECUTION_TIMEOUTS_METRIC = "superblocks.clark.tool.execution.timeouts_total";
15
15
  const TOOL_EXECUTION_DURATION_METRIC = "superblocks.clark.tool.execution.duration_seconds";
16
+ const STREAM_TERMINAL_TOTAL_METRIC = "superblocks.clark.stream.terminal.total";
16
17
  let cachedMeter;
17
18
  let cachedMetrics;
18
- function resolveToolExecutionMetrics() {
19
+ function resolveStreamOrchestratorMetrics() {
19
20
  const meter = metrics.getMeter(METER_NAME);
20
21
  if (meter === cachedMeter && cachedMetrics) {
21
22
  return cachedMetrics;
@@ -30,20 +31,33 @@ function resolveToolExecutionMetrics() {
30
31
  description: "Number of Clark tool executions that reached their orchestrator timeout.",
31
32
  unit: "{timeout}",
32
33
  }),
34
+ streamTerminalCounter: meter.createCounter(STREAM_TERMINAL_TOTAL_METRIC, {
35
+ description: "Number of Clark streams that ended before normal completion, classified by boundary and reason.",
36
+ unit: "{stream}",
37
+ }),
33
38
  };
34
39
  return cachedMetrics;
35
40
  }
36
41
  function recordToolExecutionDuration(toolName, outcome, durationMs) {
37
- resolveToolExecutionMetrics().durationHistogram.record(durationMs / 1000, {
42
+ resolveStreamOrchestratorMetrics().durationHistogram.record(durationMs / 1000, {
38
43
  outcome,
39
44
  tool_name: toolName,
40
45
  });
41
46
  }
42
47
  function recordToolExecutionTimeout(toolName) {
43
- resolveToolExecutionMetrics().timeoutCounter.add(1, {
48
+ resolveStreamOrchestratorMetrics().timeoutCounter.add(1, {
44
49
  tool_name: toolName,
45
50
  });
46
51
  }
52
+ function recordStreamTerminal(provider, model, outcome, terminalReason, waitState) {
53
+ resolveStreamOrchestratorMetrics().streamTerminalCounter.add(1, {
54
+ model,
55
+ outcome,
56
+ provider,
57
+ terminal_reason: terminalReason,
58
+ wait_state: waitState,
59
+ });
60
+ }
47
61
  function getToolExecutionTimeoutMs(tool) {
48
62
  // Treat non-positive, non-finite, or absent values as "use default".
49
63
  return typeof tool.timeoutMs === "number" &&
@@ -225,6 +239,8 @@ class AttemptCoordinator {
225
239
  * ```
226
240
  */
227
241
  export class StreamOrchestrator {
242
+ terminalSummariesObserved = new WeakSet();
243
+ terminalSummaryErrors = new WeakMap();
228
244
  provider;
229
245
  config;
230
246
  observers;
@@ -272,6 +288,15 @@ export class StreamOrchestrator {
272
288
  for (const observer of this.observers) {
273
289
  observer.attach(session.events, this.config);
274
290
  }
291
+ session.events.on("session:error", (error, endedSession) => {
292
+ this.logTerminalStreamSummary(endedSession, waitStateTracker, "error", error);
293
+ });
294
+ session.events.on("session:abort", (endedSession) => {
295
+ if (endedSession.outcome !== "aborted") {
296
+ return;
297
+ }
298
+ this.logTerminalStreamSummary(endedSession, waitStateTracker, "aborted");
299
+ });
275
300
  await session.events.emit("session:start", session, {
276
301
  system: options.system,
277
302
  messages: options.messages ?? [],
@@ -288,20 +313,17 @@ export class StreamOrchestrator {
288
313
  const idleMonitor = new IdleMonitor({
289
314
  session,
290
315
  maxIdleTimeMs: () => this.config.retry.budgetForModel(session.provider.model).idleTimeoutMs,
291
- firstChunkTimeoutMs: () => this.config.retry.budgetForModel(session.provider.model)
292
- .firstChunkTimeoutMs,
316
+ firstTokenTimeoutMs: () => this.config.retry.budgetForModel(session.provider.model)
317
+ .firstTokenTimeoutMs,
318
+ compactionSummaryTimeoutMs: () => this.config.retry.budgetForModel(session.provider.model)
319
+ .compactionSummaryTimeoutMs,
293
320
  onServerCompactionStart: (blockId) => {
294
- // firstChunkTimeoutMs is re-resolved here from the current model rather
295
- // than read from the armed timer. The model only changes on fallback
296
- // events (never mid-stream), so at compaction-start time it matches the
297
- // budget the first-chunk timer was actually armed with.
298
- this.logger.debug("[orchestrator] Server-side compaction chunk detected; holding first-chunk idle budget", {
321
+ this.logger.debug("[orchestrator] Server-side compaction chunk detected", {
299
322
  sessionId: session.id,
300
323
  provider: session.provider.name,
301
324
  model: session.provider.model,
302
325
  attempt: session.attempt,
303
326
  blockId,
304
- firstChunkTimeoutMs: this.config.retry.budgetForModel(session.provider.model).firstChunkTimeoutMs,
305
327
  });
306
328
  },
307
329
  shouldPause: () => {
@@ -390,11 +412,8 @@ export class StreamOrchestrator {
390
412
  }
391
413
  },
392
414
  onStall: (error) => {
393
- // budgetKind is the keepalive-vs-content discriminator: "first-chunk"
394
- // means the model never sent content (only silence/keep-alives) before
395
- // the stall; "inter-chunk" means content was flowing and then stopped.
396
- // It is carried on the error (set when the timer armed) because budgets
397
- // are now per-model and can't be re-derived by numeric comparison.
415
+ // budgetKind is carried on the error (set when the timer armed) because
416
+ // budgets are now per-model and can't be re-derived by numeric comparison.
398
417
  const budgetKind = error.budgetKind;
399
418
  const msSinceLastPull = session.getTimeSinceLastPull();
400
419
  // Discriminate network-dark vs consumer-blocked (APPS-4729). The
@@ -408,13 +427,12 @@ export class StreamOrchestrator {
408
427
  // callback synchronously, before the rejected waitForStall() propagates
409
428
  // into the managed stream's catch and clears the flag (see idle-monitor).
410
429
  //
411
- // A first-chunk stall is upstream silence by definition: no chunk was
412
- // delivered, so the consumer cannot be holding the stream. Force
413
- // "network-dark" rather than trusting the flag — pull() is lazy, so a
414
- // first-chunk timer can fire before the loop's first await ever set it.
415
- // budget_kind still separates a first-chunk network-dark from an
416
- // inter-chunk one.
417
- const stallReason = budgetKind === "first-chunk" || session.isAwaitingUpstream()
430
+ // First-output stalls are upstream silence by definition: no useful
431
+ // content was delivered, so the consumer cannot be holding the stream.
432
+ // Force "network-dark" rather than trusting the flag — pull() is lazy.
433
+ const stallReason = budgetKind === "first-token" ||
434
+ budgetKind === "compaction" ||
435
+ session.isAwaitingUpstream()
418
436
  ? "network-dark"
419
437
  : "consumer-blocked";
420
438
  const message = `[orchestrator] Idle timeout exceeded, triggering retry`;
@@ -536,6 +554,96 @@ export class StreamOrchestrator {
536
554
  },
537
555
  })));
538
556
  }
557
+ logTerminalStreamSummary(session, waitStateTracker, outcome, error) {
558
+ if (this.terminalSummariesObserved.has(session)) {
559
+ return;
560
+ }
561
+ this.terminalSummariesObserved.add(session);
562
+ const budget = this.config.retry.budgetForModel(session.provider.model);
563
+ const waitState = waitStateTracker.getWaitState();
564
+ const terminalError = this.terminalSummaryErrors.get(session) ?? error;
565
+ this.terminalSummaryErrors.delete(session);
566
+ const terminalReason = this.terminalReason(outcome, terminalError);
567
+ try {
568
+ recordStreamTerminal(session.provider.name, session.provider.model, outcome, terminalReason, waitState.state);
569
+ }
570
+ catch {
571
+ // The WARN summary below is the per-stream diagnostic source of truth.
572
+ }
573
+ const attributes = {
574
+ event: "stream_terminal_summary",
575
+ session_id: session.id,
576
+ provider: session.provider.name,
577
+ model: session.provider.model,
578
+ attempt: session.attempt,
579
+ outcome,
580
+ terminal_reason: terminalReason,
581
+ elapsed_ms: session.getElapsedMs(),
582
+ chunks_received: session.metrics.chunkCount,
583
+ raw_reset_count: waitStateTracker.getRawResetCount(),
584
+ wait_state: waitState.state,
585
+ idle_timeout_ms: budget.idleTimeoutMs,
586
+ first_token_timeout_ms: budget.firstTokenTimeoutMs,
587
+ ms_since_last_activity: session.getTimeSinceLastActivity(),
588
+ ms_since_last_content: session.getTimeSinceLastContent(),
589
+ };
590
+ if (waitState.state === "tool") {
591
+ attributes.tool_name = waitState.toolName;
592
+ attributes.tool_call_id = waitState.toolCallId;
593
+ attributes.pending_tool_count = waitState.pendingToolCount;
594
+ }
595
+ if (session.organizationId) {
596
+ attributes.organization_id = session.organizationId;
597
+ }
598
+ if (session.applicationId) {
599
+ attributes.application_id = session.applicationId;
600
+ }
601
+ if (terminalError instanceof Error) {
602
+ attributes.error_name = terminalError.name;
603
+ }
604
+ const message = "[orchestrator] Stream terminal summary";
605
+ if (this.logger.warnStructured) {
606
+ this.logger.warnStructured(message, attributes);
607
+ }
608
+ else {
609
+ this.logger.warn(message, attributes);
610
+ }
611
+ }
612
+ terminalReason(outcome, error) {
613
+ if (outcome === "aborted") {
614
+ return "abort_signal";
615
+ }
616
+ if (error instanceof StallTimeoutError) {
617
+ return "idle_monitor_timeout";
618
+ }
619
+ if (error instanceof RetriesExhaustedError &&
620
+ error.cause instanceof StallTimeoutError) {
621
+ return "idle_monitor_timeout";
622
+ }
623
+ if (error instanceof LLMProviderError &&
624
+ error.cause instanceof ToolExecutionTimeoutError) {
625
+ return "tool_timeout";
626
+ }
627
+ if (error instanceof AbortedError) {
628
+ // Provider startup/cleanup aborts can arrive through session:error; keep
629
+ // the reason stable and let outcome distinguish clean aborts from
630
+ // abort-as-error paths.
631
+ return "abort_signal";
632
+ }
633
+ if (error instanceof ToolExecutionTimeoutError) {
634
+ return "tool_timeout";
635
+ }
636
+ if (error instanceof RetriesExhaustedError) {
637
+ return "retries_exhausted";
638
+ }
639
+ if (error instanceof LLMProviderError) {
640
+ return "provider_error";
641
+ }
642
+ if (error instanceof Error) {
643
+ return "error";
644
+ }
645
+ return "error";
646
+ }
539
647
  /**
540
648
  * Wraps a fullStream with retry logic. When an error occurs (either thrown or
541
649
  * as an error chunk), makes a retry decision and either creates a new stream
@@ -602,10 +710,12 @@ export class StreamOrchestrator {
602
710
  const decision = retryEngine.getRetryDecision(error, session, options.abortSignal, waitStateTracker.getWaitState());
603
711
  if (!decision.shouldRetry) {
604
712
  this.logger.warn(`[orchestrator] Not retrying: reason=${decision.reason}`, getErrorMeta(error));
605
- session.finalize("error", error);
713
+ const finalError = this.wrapFinalError(error, decision.reason ?? "unknown", session);
714
+ this.terminalSummaryErrors.set(session, finalError);
715
+ session.finalize("error", finalError);
606
716
  return {
607
717
  shouldRetry: false,
608
- error: this.wrapFinalError(error, decision.reason ?? "unknown", session),
718
+ error: finalError,
609
719
  };
610
720
  }
611
721
  // Supersede the failed attempt now, before the backoff delay, so its
@@ -636,8 +746,10 @@ export class StreamOrchestrator {
636
746
  stack: error instanceof Error ? error.stack : undefined,
637
747
  },
638
748
  });
639
- await session.events.emit("session:error", error, session);
640
- throw this.wrapFinalError(error, decision.reason ?? "unknown", session);
749
+ const finalError = this.wrapFinalError(error, decision.reason ?? "unknown", session);
750
+ this.terminalSummaryErrors.set(session, finalError);
751
+ await session.events.emit("session:error", finalError, session);
752
+ throw finalError;
641
753
  }
642
754
  // Supersede the failed attempt before backoff.
643
755
  attempts.abortCurrent();
@@ -651,7 +763,6 @@ export class StreamOrchestrator {
651
763
  }
652
764
  }
653
765
  }
654
- // todo(@omar): this needs to use the wrapError helper
655
766
  wrapFinalError(error, reason, session) {
656
767
  if (reason === "aborted") {
657
768
  return new AbortedError();
@@ -659,12 +770,22 @@ export class StreamOrchestrator {
659
770
  if (reason === "max-attempts" || reason === "max-time") {
660
771
  return new RetriesExhaustedError(session.attempt, session.getElapsedMs(), error);
661
772
  }
773
+ if (error instanceof LLMProviderError) {
774
+ const finalError = new LLMProviderError({
775
+ provider: error.provider,
776
+ message: error.message,
777
+ type: error.type,
778
+ isRetryable: false,
779
+ cause: error.cause,
780
+ });
781
+ finalError.statusCode = error.statusCode;
782
+ finalError.url = error.url;
783
+ finalError.data = error.data;
784
+ return finalError;
785
+ }
662
786
  return new LLMProviderError({
663
787
  provider: session.provider.name,
664
- message: error instanceof Error
665
- ? (error.message ?? "All retries exhausted")
666
- : "All retries exhausted",
667
- type: "retries_exhausted",
788
+ message: error instanceof Error ? error.message : "LLM stream failed",
668
789
  isRetryable: false,
669
790
  cause: error,
670
791
  });