@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.
- package/dist/ai-service/agent/tools/build-copy-utils.d.ts +8 -8
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
- package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.js +6 -3
- package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
- package/dist/ai-service/attachments/{csv-upload-artifacts.d.ts → text-upload-artifacts.d.ts} +14 -11
- package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -0
- package/dist/ai-service/attachments/{csv-upload-artifacts.js → text-upload-artifacts.js} +61 -35
- package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts +12 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -0
- package/dist/ai-service/chat/chat-session-store-metrics.js +63 -0
- package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +24 -4
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/index.d.ts +4 -38
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +14 -168
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +33 -26
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context-v2/compactor.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compactor.js +21 -13
- package/dist/ai-service/llm/context-v2/compactor.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts +25 -0
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +147 -7
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +10 -1
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +98 -10
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts +3 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +26 -5
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +5 -2
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +229 -55
- package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
- package/dist/ai-service/llm/context-v2/phase2-session-summarizer.d.ts +1 -0
- package/dist/ai-service/llm/context-v2/phase2-session-summarizer.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/phase2-session-summarizer.js +108 -2
- package/dist/ai-service/llm/context-v2/phase2-session-summarizer.js.map +1 -1
- package/dist/ai-service/llm/context-v2/prompts/compaction.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/prompts/compaction.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/prompts/compaction.js +6 -0
- package/dist/ai-service/llm/context-v2/prompts/compaction.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/local.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/local.js +16 -2
- package/dist/ai-service/llm/context-v2/storage/local.js.map +1 -1
- package/dist/ai-service/llm/context-v2/types.d.ts +3 -1
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js +76 -10
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts +6 -6
- package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/uniquify-filenames.js +127 -24
- package/dist/ai-service/llm/context-v2/uniquify-filenames.js.map +1 -1
- package/dist/ai-service/llm/context-v2/utils/get-loaded-context.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/utils/get-loaded-context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/utils/get-loaded-context.js.map +1 -1
- package/dist/ai-service/llm/error.d.ts +1 -1
- package/dist/ai-service/llm/error.d.ts.map +1 -1
- package/dist/ai-service/llm/error.js +11 -0
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +19 -29
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js +17 -40
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/errors.d.ts +4 -6
- package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/errors.js +13 -0
- package/dist/ai-service/llm/stream/errors.js.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.d.ts +29 -21
- package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.js +157 -68
- package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
- package/dist/ai-service/llm/stream/index.d.ts +1 -1
- package/dist/ai-service/llm/stream/index.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/index.js +1 -1
- package/dist/ai-service/llm/stream/index.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +3 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +55 -25
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +4 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +154 -33
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +3 -6
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +5 -5
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +47 -35
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.d.ts +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.js +3 -0
- package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -1
- package/dist/ai-service/tasks/types.d.ts +6 -6
- package/dist/ai-service/types.d.ts +0 -6
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/lock-service/index.d.ts +2 -0
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +52 -3
- package/dist/lock-service/index.js.map +1 -1
- package/dist/migration/translation-prompt.d.ts +6 -7
- package/dist/migration/translation-prompt.d.ts.map +1 -1
- package/dist/migration/translation-prompt.js +6 -7
- package/dist/migration/translation-prompt.js.map +1 -1
- package/dist/migration-templates/app-fullstack/package.json +0 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +0 -6
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/download.d.ts.map +1 -1
- package/dist/sync-service/download.js +49 -1
- package/dist/sync-service/download.js.map +1 -1
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +62 -0
- package/dist/util/logger.js.map +1 -1
- package/package.json +8 -8
- package/dist/ai-service/attachments/csv-upload-artifacts.d.ts.map +0 -1
- package/dist/ai-service/attachments/csv-upload-artifacts.js.map +0 -1
- package/dist/ai-service/migration-auto-dispatch-readiness.d.ts +0 -18
- package/dist/ai-service/migration-auto-dispatch-readiness.d.ts.map +0 -1
- package/dist/ai-service/migration-auto-dispatch-readiness.js +0 -17
- package/dist/ai-service/migration-auto-dispatch-readiness.js.map +0 -1
- package/dist/ai-service/migration-llm-config.d.ts +0 -7
- package/dist/ai-service/migration-llm-config.d.ts.map +0 -1
- package/dist/ai-service/migration-llm-config.js +0 -122
- package/dist/ai-service/migration-llm-config.js.map +0 -1
- package/dist/ai-service/resolve-generation-state-for-ui.d.ts +0 -8
- package/dist/ai-service/resolve-generation-state-for-ui.d.ts.map +0 -1
- package/dist/ai-service/resolve-generation-state-for-ui.js +0 -36
- package/dist/ai-service/resolve-generation-state-for-ui.js.map +0 -1
- package/dist/ai-service/util/inference-jwt.d.ts +0 -15
- package/dist/ai-service/util/inference-jwt.d.ts.map +0 -1
- package/dist/ai-service/util/inference-jwt.js +0 -56
- package/dist/ai-service/util/inference-jwt.js.map +0 -1
- 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
|
-
|
|
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:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
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;
|
|
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
|
|
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
|
-
|
|
42
|
+
resolveStreamOrchestratorMetrics().durationHistogram.record(durationMs / 1000, {
|
|
38
43
|
outcome,
|
|
39
44
|
tool_name: toolName,
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
47
|
function recordToolExecutionTimeout(toolName) {
|
|
43
|
-
|
|
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
|
-
|
|
292
|
-
.
|
|
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
|
-
|
|
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
|
|
394
|
-
//
|
|
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
|
-
//
|
|
412
|
-
// delivered, so the consumer cannot be holding the stream.
|
|
413
|
-
// "network-dark" rather than trusting the flag — pull() is lazy
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
640
|
-
|
|
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
|
});
|