@superblocksteam/vite-plugin-file-sync 2.0.139 → 2.0.140-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 (136) hide show
  1. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +1 -1
  2. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
  3. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  4. package/dist/ai-service/agent/tools/apis/test-api.js +3 -2
  5. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  6. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  7. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +1 -13
  8. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  9. package/dist/ai-service/agent/tools2/tools/git.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tools2/tools/git.js +19 -1
  11. package/dist/ai-service/agent/tools2/tools/git.js.map +1 -1
  12. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  13. package/dist/ai-service/agent/utils.js +46 -3
  14. package/dist/ai-service/agent/utils.js.map +1 -1
  15. package/dist/ai-service/app-interface/npm-registry.d.ts +11 -7
  16. package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
  17. package/dist/ai-service/app-interface/npm-registry.js +11 -7
  18. package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
  19. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
  20. package/dist/ai-service/app-skills/helpers.js +2 -0
  21. package/dist/ai-service/app-skills/helpers.js.map +1 -1
  22. package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -1
  23. package/dist/ai-service/chat/chat-session-store-metrics.js +26 -17
  24. package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -1
  25. package/dist/ai-service/chat/chat-session-store.d.ts +1 -4
  26. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  27. package/dist/ai-service/chat/chat-session-store.js +32 -8
  28. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  29. package/dist/ai-service/chat/transcript-metrics.d.ts +5 -0
  30. package/dist/ai-service/chat/transcript-metrics.d.ts.map +1 -1
  31. package/dist/ai-service/chat/transcript-metrics.js +42 -15
  32. package/dist/ai-service/chat/transcript-metrics.js.map +1 -1
  33. package/dist/ai-service/index.d.ts +2 -0
  34. package/dist/ai-service/index.d.ts.map +1 -1
  35. package/dist/ai-service/index.js +206 -31
  36. package/dist/ai-service/index.js.map +1 -1
  37. package/dist/ai-service/llm/client.d.ts.map +1 -1
  38. package/dist/ai-service/llm/client.js +9 -9
  39. package/dist/ai-service/llm/client.js.map +1 -1
  40. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +6 -0
  41. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  42. package/dist/ai-service/llm/context-v2/context-metrics.js +18 -1
  43. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  44. package/dist/ai-service/llm/provider.d.ts +7 -1
  45. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  46. package/dist/ai-service/llm/provider.js +292 -15
  47. package/dist/ai-service/llm/provider.js.map +1 -1
  48. package/dist/ai-service/llm/stream/empty-tool-call-tracker.d.ts +47 -0
  49. package/dist/ai-service/llm/stream/empty-tool-call-tracker.d.ts.map +1 -0
  50. package/dist/ai-service/llm/stream/empty-tool-call-tracker.js +122 -0
  51. package/dist/ai-service/llm/stream/empty-tool-call-tracker.js.map +1 -0
  52. package/dist/ai-service/llm/stream/errors.d.ts +21 -1
  53. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
  54. package/dist/ai-service/llm/stream/errors.js +20 -0
  55. package/dist/ai-service/llm/stream/errors.js.map +1 -1
  56. package/dist/ai-service/llm/stream/managed-stream.d.ts +5 -1
  57. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  58. package/dist/ai-service/llm/stream/managed-stream.js +51 -1
  59. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  60. package/dist/ai-service/llm/stream/orchestrator.d.ts +17 -2
  61. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  62. package/dist/ai-service/llm/stream/orchestrator.js +185 -135
  63. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  64. package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
  65. package/dist/ai-service/llmobs/otel-exporter.js +17 -6
  66. package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
  67. package/dist/ai-service/llmobs/tracer.d.ts +24 -2
  68. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  69. package/dist/ai-service/llmobs/tracer.js +90 -25
  70. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  71. package/dist/ai-service/llmobs/types.d.ts +5 -0
  72. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  73. package/dist/ai-service/state-machine/clark-fsm.d.ts +24 -7
  74. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  75. package/dist/ai-service/state-machine/clark-fsm.js +5 -0
  76. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  77. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  78. package/dist/ai-service/state-machine/handlers/agent-planning.js +30 -43
  79. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  80. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  81. package/dist/ai-service/state-machine/handlers/awaiting-user.js +21 -0
  82. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  83. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  84. package/dist/ai-service/state-machine/handlers/idle.js +16 -1
  85. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  86. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  87. package/dist/ai-service/state-machine/handlers/llm-generating.js +10 -21
  88. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  89. package/dist/ai-service/state-machine/handlers/persist-prompt-attachments.d.ts +25 -0
  90. package/dist/ai-service/state-machine/handlers/persist-prompt-attachments.d.ts.map +1 -0
  91. package/dist/ai-service/state-machine/handlers/persist-prompt-attachments.js +68 -0
  92. package/dist/ai-service/state-machine/handlers/persist-prompt-attachments.js.map +1 -0
  93. package/dist/ai-service/state-machine/helpers/prompt-failure.d.ts +51 -0
  94. package/dist/ai-service/state-machine/helpers/prompt-failure.d.ts.map +1 -0
  95. package/dist/ai-service/state-machine/helpers/prompt-failure.js +149 -0
  96. package/dist/ai-service/state-machine/helpers/prompt-failure.js.map +1 -0
  97. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +77 -0
  98. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -0
  99. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +229 -0
  100. package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -0
  101. package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
  102. package/dist/ai-service/state-machine/helpers/transition.js +5 -1
  103. package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
  104. package/dist/ai-service/state-machine/traced-fsm.d.ts +6 -1
  105. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  106. package/dist/ai-service/state-machine/traced-fsm.js +13 -3
  107. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  108. package/dist/ai-service/util/llm-config-utils.d.ts +2 -2
  109. package/dist/ai-service/util/llm-config-utils.d.ts.map +1 -1
  110. package/dist/ai-service/util/llm-config-utils.js +2 -2
  111. package/dist/ai-service/util/llm-config-utils.js.map +1 -1
  112. package/dist/git-service/app-layout-guard.d.ts +36 -0
  113. package/dist/git-service/app-layout-guard.d.ts.map +1 -0
  114. package/dist/git-service/app-layout-guard.js +66 -0
  115. package/dist/git-service/app-layout-guard.js.map +1 -0
  116. package/dist/git-service/errors.d.ts +5 -0
  117. package/dist/git-service/errors.d.ts.map +1 -1
  118. package/dist/git-service/errors.js +10 -0
  119. package/dist/git-service/errors.js.map +1 -1
  120. package/dist/git-service/index.d.ts +2 -2
  121. package/dist/git-service/index.d.ts.map +1 -1
  122. package/dist/git-service/index.js +2 -2
  123. package/dist/git-service/index.js.map +1 -1
  124. package/dist/migration-templates/app-fullstack/package.json +1 -1
  125. package/dist/socket-manager.d.ts.map +1 -1
  126. package/dist/socket-manager.js +6 -0
  127. package/dist/socket-manager.js.map +1 -1
  128. package/dist/sync-service/index.d.ts +16 -9
  129. package/dist/sync-service/index.d.ts.map +1 -1
  130. package/dist/sync-service/index.js +154 -4
  131. package/dist/sync-service/index.js.map +1 -1
  132. package/dist/util/logger.d.ts +7 -0
  133. package/dist/util/logger.d.ts.map +1 -1
  134. package/dist/util/logger.js +29 -0
  135. package/dist/util/logger.js.map +1 -1
  136. package/package.json +14 -13
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { FinishReason, TextStreamPart } from "ai";
2
+ import type { Tool } from "../../agent/tools2/types.js";
3
+ /**
4
+ * Whether a tool call's input carries anything the tool could act on. Empty
5
+ * objects/arrays/strings, whitespace-only strings, and JSON-encoded variants
6
+ * thereof count as having no usable input. This is only one signal: an empty
7
+ * call is treated as an anomaly elsewhere only when it also never yields a
8
+ * tool-result and the turn ends on a non-"tool-calls" finish, so legitimate
9
+ * zero-argument tools are not affected.
10
+ */
11
+ export declare function hasUsableToolInput(value: unknown, depth?: number): boolean;
12
+ export declare function getToolCallId(chunk: {
13
+ id?: unknown;
14
+ toolCallId?: unknown;
15
+ }): string | undefined;
16
+ /**
17
+ * Tracks, for a single provider attempt, tool calls that arrived with no usable
18
+ * input and never produced a result. The managed stream feeds every chunk
19
+ * through this tracker so it can both record the anomaly and decide whether to
20
+ * surface a retryable {@link EmptyToolCallError}. A fresh tracker is created per
21
+ * attempt. See {@link EmptyToolCallError} for why this anomaly happens.
22
+ */
23
+ export declare class EmptyToolCallTracker {
24
+ private readonly pending;
25
+ private readonly withInputDeltas;
26
+ private finishReasonValue;
27
+ private rawFinishReasonValue;
28
+ observe(chunk: TextStreamPart<Record<string, Tool>>): void;
29
+ get pendingCount(): number;
30
+ get toolNames(): string[];
31
+ get finishReason(): FinishReason | undefined;
32
+ get rawFinishReason(): string | undefined;
33
+ /**
34
+ * True when the turn ended on a terminal stop reason while a tool call is
35
+ * still unresolved. A "tool-calls" finish means the AI SDK itself drives
36
+ * continuation, so only a non-"tool-calls" terminal finish indicates the
37
+ * generation actually halted with work left to do.
38
+ *
39
+ * An absent finishReason is deliberately treated as "not an anomaly": every
40
+ * real provider terminal chunk carries a reason, so a missing one means the
41
+ * turn hasn't actually ended here (or the SDK shape drifted), and forcing a
42
+ * retry on that ambiguity risks looping healthy streams. The anomaly is still
43
+ * recorded via the metric/log; only the retry is withheld.
44
+ */
45
+ get endedWithoutToolContinuation(): boolean;
46
+ }
47
+ //# sourceMappingURL=empty-tool-call-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-tool-call-tracker.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/empty-tool-call-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAIxD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CA6BrE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,GAAG,SAAS,CAQrB;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,oBAAoB,CAAqB;IAEjD,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAoC1D,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAED,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,4BAA4B,IAAI,OAAO,CAM1C;CACF"}
@@ -0,0 +1,122 @@
1
+ const MAX_TOOL_INPUT_PARSE_DEPTH = 10;
2
+ /**
3
+ * Whether a tool call's input carries anything the tool could act on. Empty
4
+ * objects/arrays/strings, whitespace-only strings, and JSON-encoded variants
5
+ * thereof count as having no usable input. This is only one signal: an empty
6
+ * call is treated as an anomaly elsewhere only when it also never yields a
7
+ * tool-result and the turn ends on a non-"tool-calls" finish, so legitimate
8
+ * zero-argument tools are not affected.
9
+ */
10
+ export function hasUsableToolInput(value, depth = 0) {
11
+ // Deliberate fail-open: pathologically deep nesting is treated as usable
12
+ // rather than spending unbounded work unwrapping it. A stuck provider emits a
13
+ // flat empty block, not a deeply nested one, so this can't mask the anomaly.
14
+ if (depth > MAX_TOOL_INPUT_PARSE_DEPTH) {
15
+ return true;
16
+ }
17
+ if (value === null || value === undefined) {
18
+ return false;
19
+ }
20
+ if (typeof value === "string") {
21
+ // Empty and whitespace-only strings carry nothing actionable.
22
+ if (value.trim() === "") {
23
+ return false;
24
+ }
25
+ try {
26
+ return hasUsableToolInput(JSON.parse(value), depth + 1);
27
+ }
28
+ catch {
29
+ // A non-blank, non-JSON string is real content the tool can act on.
30
+ return true;
31
+ }
32
+ }
33
+ if (Array.isArray(value)) {
34
+ return value.length > 0;
35
+ }
36
+ if (typeof value === "object") {
37
+ return Object.keys(value).length > 0;
38
+ }
39
+ return true;
40
+ }
41
+ export function getToolCallId(chunk) {
42
+ if (typeof chunk.toolCallId === "string") {
43
+ return chunk.toolCallId;
44
+ }
45
+ if (typeof chunk.id === "string") {
46
+ return chunk.id;
47
+ }
48
+ return undefined;
49
+ }
50
+ /**
51
+ * Tracks, for a single provider attempt, tool calls that arrived with no usable
52
+ * input and never produced a result. The managed stream feeds every chunk
53
+ * through this tracker so it can both record the anomaly and decide whether to
54
+ * surface a retryable {@link EmptyToolCallError}. A fresh tracker is created per
55
+ * attempt. See {@link EmptyToolCallError} for why this anomaly happens.
56
+ */
57
+ export class EmptyToolCallTracker {
58
+ pending = new Map();
59
+ withInputDeltas = new Set();
60
+ finishReasonValue;
61
+ rawFinishReasonValue;
62
+ observe(chunk) {
63
+ if (chunk.type === "tool-input-delta") {
64
+ const toolCallId = getToolCallId(chunk);
65
+ if (typeof toolCallId === "string") {
66
+ this.withInputDeltas.add(toolCallId);
67
+ this.pending.delete(toolCallId);
68
+ }
69
+ return;
70
+ }
71
+ if (chunk.type === "tool-call") {
72
+ const toolCallId = getToolCallId(chunk);
73
+ if (typeof toolCallId === "string" &&
74
+ !this.withInputDeltas.has(toolCallId) &&
75
+ !hasUsableToolInput(chunk.input)) {
76
+ this.pending.set(toolCallId, chunk.toolName);
77
+ }
78
+ return;
79
+ }
80
+ if (chunk.type === "tool-result") {
81
+ const toolCallId = getToolCallId(chunk);
82
+ if (typeof toolCallId === "string") {
83
+ this.pending.delete(toolCallId);
84
+ }
85
+ return;
86
+ }
87
+ if (chunk.type === "finish") {
88
+ this.finishReasonValue = chunk.finishReason;
89
+ this.rawFinishReasonValue = chunk.rawFinishReason;
90
+ }
91
+ }
92
+ get pendingCount() {
93
+ return this.pending.size;
94
+ }
95
+ get toolNames() {
96
+ return [...new Set(this.pending.values())];
97
+ }
98
+ get finishReason() {
99
+ return this.finishReasonValue;
100
+ }
101
+ get rawFinishReason() {
102
+ return this.rawFinishReasonValue;
103
+ }
104
+ /**
105
+ * True when the turn ended on a terminal stop reason while a tool call is
106
+ * still unresolved. A "tool-calls" finish means the AI SDK itself drives
107
+ * continuation, so only a non-"tool-calls" terminal finish indicates the
108
+ * generation actually halted with work left to do.
109
+ *
110
+ * An absent finishReason is deliberately treated as "not an anomaly": every
111
+ * real provider terminal chunk carries a reason, so a missing one means the
112
+ * turn hasn't actually ended here (or the SDK shape drifted), and forcing a
113
+ * retry on that ambiguity risks looping healthy streams. The anomaly is still
114
+ * recorded via the metric/log; only the retry is withheld.
115
+ */
116
+ get endedWithoutToolContinuation() {
117
+ return (this.pending.size > 0 &&
118
+ this.finishReasonValue !== undefined &&
119
+ this.finishReasonValue !== "tool-calls");
120
+ }
121
+ }
122
+ //# sourceMappingURL=empty-tool-call-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-tool-call-tracker.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/empty-tool-call-tracker.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare class AbortedError extends Error {
10
10
  name: string;
11
11
  constructor(message?: string);
12
12
  }
13
- export declare class ToolExecutionTimeoutError extends Error {
13
+ export declare class ToolExecutionTimeoutError extends Error implements RetryableError {
14
14
  name: string;
15
15
  readonly input: unknown | undefined;
16
16
  readonly isRetryable = false;
@@ -18,6 +18,26 @@ export declare class ToolExecutionTimeoutError extends Error {
18
18
  readonly toolName: string;
19
19
  constructor(toolName: string, timeoutMs: number, input?: unknown);
20
20
  }
21
+ /**
22
+ * Error thrown when a provider ends a turn with a tool call that has no usable
23
+ * input and never produced a result. Some providers (notably Snowflake Cortex
24
+ * over the Anthropic-compatible API) emit an empty tool-use block and report a
25
+ * terminal stop reason instead of continuing, which silently halts generation
26
+ * mid-build. Surfacing it as a retryable error lets the retry engine re-run the
27
+ * turn or fall back to another provider instead of finishing early.
28
+ */
29
+ export declare class EmptyToolCallError extends Error implements RetryableError {
30
+ name: string;
31
+ readonly isRetryable = true;
32
+ readonly toolNames: string[];
33
+ readonly finishReason: string | undefined;
34
+ constructor(args: {
35
+ provider: string;
36
+ model: string;
37
+ toolNames: string[];
38
+ finishReason?: string;
39
+ });
40
+ }
21
41
  /**
22
42
  * Which idle budget was in effect when a stall fired. Carried on the error so
23
43
  * downstream logging classifies stalls without re-deriving the budget by
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EAEpB,gBAAgB,EAChB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,CAAC;AAErD,qBAAa,qBAAsB,SAAQ,KAAK;IACrC,IAAI,SAA2B;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAMnE;AAED,qBAAa,YAAa,SAAQ,KAAK;IAC5B,IAAI,SAAkB;gBAEnB,OAAO,SAAoB;CAGxC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACzC,IAAI,SAA+B;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,WAAW,SAAS;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAMjE;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;AAE3E;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAM,YAAW,cAAc;IAC3D,IAAI,SAAuB;IACpC,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;gBAGnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,UAAU,GAAE,eAA+B;CAS9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAwE3E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/errors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EAEpB,gBAAgB,EAChB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,CAAC;AAErD,qBAAa,qBAAsB,SAAQ,KAAK;IACrC,IAAI,SAA2B;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAMnE;AAED,qBAAa,YAAa,SAAQ,KAAK;IAC5B,IAAI,SAAkB;gBAEnB,OAAO,SAAoB;CAGxC;AAED,qBAAa,yBAA0B,SAAQ,KAAM,YAAW,cAAc;IACnE,IAAI,SAA+B;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,WAAW,SAAS;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAMjE;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,KAAM,YAAW,cAAc;IAC5D,IAAI,SAAwB;IACrC,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE9B,IAAI,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB;CAQF;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;AAE3E;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAM,YAAW,cAAc;IAC3D,IAAI,SAAuB;IACpC,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;gBAGnC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,UAAU,GAAE,eAA+B;CAS9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAwE3E"}
@@ -31,6 +31,26 @@ export class ToolExecutionTimeoutError extends Error {
31
31
  this.timeoutMs = timeoutMs;
32
32
  }
33
33
  }
34
+ /**
35
+ * Error thrown when a provider ends a turn with a tool call that has no usable
36
+ * input and never produced a result. Some providers (notably Snowflake Cortex
37
+ * over the Anthropic-compatible API) emit an empty tool-use block and report a
38
+ * terminal stop reason instead of continuing, which silently halts generation
39
+ * mid-build. Surfacing it as a retryable error lets the retry engine re-run the
40
+ * turn or fall back to another provider instead of finishing early.
41
+ */
42
+ export class EmptyToolCallError extends Error {
43
+ name = "EmptyToolCallError";
44
+ isRetryable = true;
45
+ toolNames;
46
+ finishReason;
47
+ constructor(args) {
48
+ super(`Provider ${args.provider}/${args.model} ended the turn with an unusable tool call ` +
49
+ `(${args.toolNames.join(", ") || "unknown"}; finishReason=${args.finishReason ?? "unknown"})`);
50
+ this.toolNames = args.toolNames;
51
+ this.finishReason = args.finishReason;
52
+ }
53
+ }
34
54
  /**
35
55
  * Error thrown when a stream has been idle for too long.
36
56
  * This is a retryable error that triggers the retry logic.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/errors.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AsyncIterableStream, TextStreamPart } from "ai";
2
2
  import type { Tool } from "../../agent/tools2/types.js";
3
+ import { EmptyToolCallTracker } from "./empty-tool-call-tracker.js";
3
4
  import type { IdleMonitor } from "./idle-monitor.js";
4
5
  import type { StreamSession } from "./session.js";
5
6
  /**
@@ -22,7 +23,10 @@ import type { StreamSession } from "./session.js";
22
23
  * @param source - The source async iterable stream
23
24
  * @param session - The session to update with events
24
25
  * @param idleMonitor - Idle monitor to detect stalled streams
26
+ * @param onEmptyToolCallFinish - Called when the attempt ends with one or more
27
+ * unusable tool calls, so the caller can record the anomaly. Detection and the
28
+ * resulting retryable error are owned here.
25
29
  * @returns A managed stream with lifecycle hooks
26
30
  */
27
- export declare function createManagedStream<T extends TextStreamPart<Record<string, Tool>>>(source: AsyncIterableStream<T>, session: StreamSession, idleMonitor: IdleMonitor): AsyncIterableStream<T>;
31
+ export declare function createManagedStream<T extends TextStreamPart<Record<string, Tool>>>(source: AsyncIterableStream<T>, session: StreamSession, idleMonitor: IdleMonitor, onEmptyToolCallFinish?: (tracker: EmptyToolCallTracker) => void): AsyncIterableStream<T>;
28
32
  //# sourceMappingURL=managed-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"managed-stream.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/managed-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAE9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAE9C,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC9B,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,WAAW,GACvB,mBAAmB,CAAC,CAAC,CAAC,CA0JxB"}
1
+ {"version":3,"file":"managed-stream.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/managed-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAE9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAE9C,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC9B,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,WAAW,EACxB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAC9D,mBAAmB,CAAC,CAAC,CAAC,CA2MxB"}
@@ -1,4 +1,6 @@
1
1
  import { getServerCompactionTextBlockUpdate } from "./compaction-text-block.js";
2
+ import { EmptyToolCallTracker } from "./empty-tool-call-tracker.js";
3
+ import { EmptyToolCallError } from "./errors.js";
2
4
  /**
3
5
  * Creates a managed stream that wraps the source stream with lifecycle management.
4
6
  *
@@ -19,12 +21,17 @@ import { getServerCompactionTextBlockUpdate } from "./compaction-text-block.js";
19
21
  * @param source - The source async iterable stream
20
22
  * @param session - The session to update with events
21
23
  * @param idleMonitor - Idle monitor to detect stalled streams
24
+ * @param onEmptyToolCallFinish - Called when the attempt ends with one or more
25
+ * unusable tool calls, so the caller can record the anomaly. Detection and the
26
+ * resulting retryable error are owned here.
22
27
  * @returns A managed stream with lifecycle hooks
23
28
  */
24
- export function createManagedStream(source, session, idleMonitor) {
29
+ export function createManagedStream(source, session, idleMonitor, onEmptyToolCallFinish) {
25
30
  const iterator = source[Symbol.asyncIterator]();
26
31
  let closed = false;
27
32
  const compactionTextBlockIds = new Set();
33
+ // Fresh per managed stream, so each provider attempt is tracked independently.
34
+ const emptyToolCallTracker = new EmptyToolCallTracker();
28
35
  const readable = new ReadableStream({
29
36
  async pull(controller) {
30
37
  if (closed || !session.isPending()) {
@@ -133,6 +140,49 @@ export function createManagedStream(source, session, idleMonitor) {
133
140
  controller.error(chunkError);
134
141
  return;
135
142
  }
143
+ emptyToolCallTracker.observe(result.value);
144
+ if (result.value.type === "finish" &&
145
+ emptyToolCallTracker.pendingCount > 0) {
146
+ // Telemetry must never preempt the data path. If the reporting
147
+ // callback throws (OTel counter, injected logger), a bare call here
148
+ // would fall through to the generic catch below and replace the
149
+ // outcome with the logging exception: it would misclassify the very
150
+ // incident this surfaces, and — in the healthy tool-calls
151
+ // continuation case — turn a successful multi-tool turn into a hard
152
+ // failure. Swallow reporting errors so they can't do either.
153
+ try {
154
+ onEmptyToolCallFinish?.(emptyToolCallTracker);
155
+ }
156
+ catch {
157
+ // ignore: reporting is best-effort, recovery below is what matters
158
+ }
159
+ // Surface the anomaly as a retryable error the same way an error
160
+ // chunk does — via controller.error, not by enqueuing the finish —
161
+ // so wrapWithRetry can retry or fall back instead of completing the
162
+ // stream. See EmptyToolCallError for why providers end a turn this
163
+ // way.
164
+ if (emptyToolCallTracker.endedWithoutToolContinuation) {
165
+ // Feed liveness only, exactly like the error-chunk path above: we
166
+ // deliberately skip session.recordChunk() so this finish does not
167
+ // advance the content clock. recordChunk() resets lastContentTime,
168
+ // and this attempt is about to be retried — counting the finish
169
+ // would let a stuck provider's terminal chunk reset the retry
170
+ // budget's max-time guard. The one-short chunkCount on a failing
171
+ // attempt is intentional; the empty-tool-call anomaly is captured
172
+ // via its own metric and the terminal_reason classification.
173
+ session.resetActivityTimer();
174
+ void session.events.emit("chunk", result.value, session);
175
+ closed = true;
176
+ // don't finalize here, wrapWithRetry catches this and decides whether to retry
177
+ controller.error(new EmptyToolCallError({
178
+ provider: session.provider.name,
179
+ model: session.provider.model,
180
+ toolNames: emptyToolCallTracker.toolNames,
181
+ finishReason: emptyToolCallTracker.finishReason,
182
+ }));
183
+ return;
184
+ }
185
+ }
136
186
  session.recordChunk(result.value.type);
137
187
  void session.events.emit("chunk", result.value, session);
138
188
  controller.enqueue(result.value);
@@ -1 +1 @@
1
- {"version":3,"file":"managed-stream.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/managed-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-stream.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/managed-stream.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,17 @@ export declare class StreamOrchestrator {
57
57
  constructor(options: StreamOrchestratorOptions);
58
58
  execute<TOOLS extends Record<string, Tool>>(options: OrchestratorStreamTextOptions<TOOLS>): Promise<StreamTextResult<TOOLS>>;
59
59
  private asAsyncIterableStream;
60
- private textStreamFromFullStream;
60
+ /**
61
+ * Wraps an async iterable as a ReadableStream that pulls one item per read.
62
+ * highWaterMark 0 keeps it from pulling eagerly, so binding to the underlying
63
+ * source is deferred until the consumer actually reads.
64
+ */
65
+ private readableFromAsyncIterable;
66
+ /**
67
+ * Projects a stream of typed parts down to text deltas, dropping server-side
68
+ * compaction summary blocks so they never surface through textStream.
69
+ */
70
+ private extractTextDeltas;
61
71
  private logTerminalStreamSummary;
62
72
  private terminalReason;
63
73
  /**
@@ -78,7 +88,12 @@ export declare class StreamOrchestrator {
78
88
  private startStreamWithRetry;
79
89
  private wrapFinalError;
80
90
  private startStream;
81
- private attachEmptyToolCallLogger;
91
+ /**
92
+ * Record the metric + structured warning for an attempt that ended with one
93
+ * or more unusable tool calls. Called at the terminal finish chunk so the
94
+ * signal is captured whether or not the orchestrator goes on to retry.
95
+ */
96
+ private logEmptyToolCalls;
82
97
  /**
83
98
  * Wraps each tool's execute so only the live attempt can run it. The Vercel AI
84
99
  * SDK auto-executes tools as their calls arrive on the provider stream, and a
@@ -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;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;AAkTJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IAqTnC,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,wBAAwB;IAmEhC,OAAO,CAAC,cAAc;IA2CtB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAuErB;;;OAGG;YACW,mBAAmB;YA+EnB,oBAAoB;IAwElC,OAAO,CAAC,cAAc;YAuCR,WAAW;IAkFzB,OAAO,CAAC,yBAAyB;IAoGjC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,aAAa;IA2DrB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAuE9B,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;OAOG;YACW,cAAc;IAwC5B,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;AAWhD,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;AA6QJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IAmanC,OAAO,CAAC,qBAAqB;IA4B7B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA8BjC;;;OAGG;YACY,iBAAiB;IA2BhC,OAAO,CAAC,wBAAwB;IAmEhC,OAAO,CAAC,cAAc;IAkDtB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAuErB;;;OAGG;YACW,mBAAmB;YA+EnB,oBAAoB;IAwElC,OAAO,CAAC,cAAc;YAuCR,WAAW;IAkFzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,aAAa;IA2DrB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAuE9B,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;OAOG;YACW,cAAc;IAwC5B,OAAO,CAAC,KAAK;CAmBd"}