@superblocksteam/vite-plugin-file-sync 2.0.70 → 2.0.71-next.1

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 (251) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +1 -1
  2. package/dist/ai-service/agent/subagents/types.d.ts.map +1 -1
  3. package/dist/ai-service/agent/subagents/types.js +1 -0
  4. package/dist/ai-service/agent/subagents/types.js.map +1 -1
  5. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  6. package/dist/ai-service/agent/tool-message-utils.js +5 -0
  7. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  8. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
  9. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +2 -1
  10. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/sample-json.d.ts +2 -0
  12. package/dist/ai-service/agent/tools/apis/sample-json.d.ts.map +1 -0
  13. package/dist/ai-service/agent/tools/apis/sample-json.js +16 -0
  14. package/dist/ai-service/agent/tools/apis/sample-json.js.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/test-api.d.ts +4 -4
  16. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/test-api.js +16 -5
  18. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +35 -0
  20. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools/build-capture-screenshot.js +90 -15
  22. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  23. package/dist/ai-service/agent/tools/build-validate-icons.d.ts +3 -18
  24. package/dist/ai-service/agent/tools/build-validate-icons.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools/build-validate-icons.js +12 -50
  26. package/dist/ai-service/agent/tools/build-validate-icons.js.map +1 -1
  27. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  28. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  29. package/dist/ai-service/agent/tools/shared-helpers.d.ts +0 -35
  30. package/dist/ai-service/agent/tools/shared-helpers.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools/shared-helpers.js +0 -89
  32. package/dist/ai-service/agent/tools/shared-helpers.js.map +1 -1
  33. package/dist/ai-service/agent/tools2/access-control.d.ts +1 -23
  34. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools2/access-control.js +3 -68
  36. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  37. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools2/registry.js +16 -5
  39. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  40. package/dist/ai-service/agent/tools2/tools/bash.d.ts.map +1 -1
  41. package/dist/ai-service/agent/tools2/tools/bash.js +2 -1
  42. package/dist/ai-service/agent/tools2/tools/bash.js.map +1 -1
  43. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +10 -2
  45. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  46. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools2/tools/grep.js +2 -1
  48. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  49. package/dist/ai-service/agent/tools2/tools/ls.d.ts.map +1 -1
  50. package/dist/ai-service/agent/tools2/tools/ls.js +3 -1
  51. package/dist/ai-service/agent/tools2/tools/ls.js.map +1 -1
  52. package/dist/ai-service/agent/tools2/types.d.ts +2 -1
  53. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  54. package/dist/ai-service/agent/tools2/types.js +31 -11
  55. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  56. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  57. package/dist/ai-service/agent/utils.js +5 -10
  58. package/dist/ai-service/agent/utils.js.map +1 -1
  59. package/dist/ai-service/clark-provider/clark-chat-settings.d.ts +2 -1
  60. package/dist/ai-service/clark-provider/clark-chat-settings.d.ts.map +1 -1
  61. package/dist/ai-service/clark-provider/clark-chat-settings.js +1 -0
  62. package/dist/ai-service/clark-provider/clark-chat-settings.js.map +1 -1
  63. package/dist/ai-service/index.d.ts.map +1 -1
  64. package/dist/ai-service/index.js +7 -4
  65. package/dist/ai-service/index.js.map +1 -1
  66. package/dist/ai-service/integrations/store.d.ts +1 -0
  67. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  68. package/dist/ai-service/integrations/store.js +1 -0
  69. package/dist/ai-service/integrations/store.js.map +1 -1
  70. package/dist/ai-service/llm/client.d.ts +14 -117
  71. package/dist/ai-service/llm/client.d.ts.map +1 -1
  72. package/dist/ai-service/llm/client.js +57 -149
  73. package/dist/ai-service/llm/client.js.map +1 -1
  74. package/dist/ai-service/llm/error.d.ts +7 -2
  75. package/dist/ai-service/llm/error.d.ts.map +1 -1
  76. package/dist/ai-service/llm/error.js +17 -17
  77. package/dist/ai-service/llm/error.js.map +1 -1
  78. package/dist/ai-service/llm/impl/anthropic.d.ts.map +1 -1
  79. package/dist/ai-service/llm/impl/anthropic.js +2 -1
  80. package/dist/ai-service/llm/impl/anthropic.js.map +1 -1
  81. package/dist/ai-service/llm/impl/clark.d.ts.map +1 -1
  82. package/dist/ai-service/llm/impl/clark.js +2 -1
  83. package/dist/ai-service/llm/impl/clark.js.map +1 -1
  84. package/dist/ai-service/llm/interaction/index.d.ts +0 -64
  85. package/dist/ai-service/llm/interaction/index.d.ts.map +1 -1
  86. package/dist/ai-service/llm/interaction/index.js +0 -65
  87. package/dist/ai-service/llm/interaction/index.js.map +1 -1
  88. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  89. package/dist/ai-service/llm/provider.js +2 -6
  90. package/dist/ai-service/llm/provider.js.map +1 -1
  91. package/dist/ai-service/llm/stream/config.d.ts +56 -0
  92. package/dist/ai-service/llm/stream/config.d.ts.map +1 -0
  93. package/dist/ai-service/llm/stream/config.js +41 -0
  94. package/dist/ai-service/llm/stream/config.js.map +1 -0
  95. package/dist/ai-service/llm/stream/errors.d.ts +16 -0
  96. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -0
  97. package/dist/ai-service/llm/stream/errors.js +68 -0
  98. package/dist/ai-service/llm/stream/errors.js.map +1 -0
  99. package/dist/ai-service/llm/stream/event-bus.d.ts +68 -0
  100. package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -0
  101. package/dist/ai-service/llm/stream/event-bus.js +51 -0
  102. package/dist/ai-service/llm/stream/event-bus.js.map +1 -0
  103. package/dist/ai-service/llm/stream/index.d.ts +49 -0
  104. package/dist/ai-service/llm/stream/index.d.ts.map +1 -0
  105. package/dist/ai-service/llm/stream/index.js +46 -0
  106. package/dist/ai-service/llm/stream/index.js.map +1 -0
  107. package/dist/ai-service/llm/stream/managed-stream.d.ts +25 -0
  108. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -0
  109. package/dist/ai-service/llm/stream/managed-stream.js +68 -0
  110. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -0
  111. package/dist/ai-service/llm/stream/observer.d.ts +34 -0
  112. package/dist/ai-service/llm/stream/observer.d.ts.map +1 -0
  113. package/dist/ai-service/llm/stream/observer.js +2 -0
  114. package/dist/ai-service/llm/stream/observer.js.map +1 -0
  115. package/dist/ai-service/llm/stream/observers/context.d.ts +40 -0
  116. package/dist/ai-service/llm/stream/observers/context.d.ts.map +1 -0
  117. package/dist/ai-service/llm/stream/observers/context.js +55 -0
  118. package/dist/ai-service/llm/stream/observers/context.js.map +1 -0
  119. package/dist/ai-service/llm/stream/observers/index.d.ts +8 -0
  120. package/dist/ai-service/llm/stream/observers/index.d.ts.map +1 -0
  121. package/dist/ai-service/llm/stream/observers/index.js +8 -0
  122. package/dist/ai-service/llm/stream/observers/index.js.map +1 -0
  123. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +78 -0
  124. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -0
  125. package/dist/ai-service/llm/stream/observers/llmobs.js +504 -0
  126. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -0
  127. package/dist/ai-service/llm/stream/observers/logging.d.ts +46 -0
  128. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -0
  129. package/dist/ai-service/llm/stream/observers/logging.js +296 -0
  130. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -0
  131. package/dist/ai-service/llm/stream/observers/retry-notification.d.ts +17 -0
  132. package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -0
  133. package/dist/ai-service/llm/stream/observers/retry-notification.js +36 -0
  134. package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -0
  135. package/dist/ai-service/llm/stream/orchestrator.d.ts +73 -0
  136. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -0
  137. package/dist/ai-service/llm/stream/orchestrator.js +285 -0
  138. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -0
  139. package/dist/ai-service/llm/stream/retry-engine.d.ts +58 -0
  140. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -0
  141. package/dist/ai-service/llm/stream/retry-engine.js +151 -0
  142. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -0
  143. package/dist/ai-service/llm/stream/session.d.ts +58 -0
  144. package/dist/ai-service/llm/stream/session.d.ts.map +1 -0
  145. package/dist/ai-service/llm/stream/session.js +116 -0
  146. package/dist/ai-service/llm/stream/session.js.map +1 -0
  147. package/dist/ai-service/llm/stream/tests/helpers/mock-provider.d.ts +129 -0
  148. package/dist/ai-service/llm/stream/tests/helpers/mock-provider.d.ts.map +1 -0
  149. package/dist/ai-service/llm/stream/tests/helpers/mock-provider.js +508 -0
  150. package/dist/ai-service/llm/stream/tests/helpers/mock-provider.js.map +1 -0
  151. package/dist/ai-service/llm/stream/types.d.ts +15 -0
  152. package/dist/ai-service/llm/stream/types.d.ts.map +1 -0
  153. package/dist/ai-service/llm/stream/types.js +2 -0
  154. package/dist/ai-service/llm/stream/types.js.map +1 -0
  155. package/dist/ai-service/llm/types.d.ts +1 -1
  156. package/dist/ai-service/llm/types.d.ts.map +1 -1
  157. package/dist/ai-service/llmobs/helpers.d.ts +0 -19
  158. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  159. package/dist/ai-service/llmobs/helpers.js +0 -23
  160. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  161. package/dist/ai-service/llmobs/tracer.d.ts +1 -0
  162. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  163. package/dist/ai-service/llmobs/tracer.js +1 -0
  164. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  165. package/dist/ai-service/llmobs/types.d.ts +2 -0
  166. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  167. package/dist/ai-service/llmobs/utils.d.ts.map +1 -1
  168. package/dist/ai-service/llmobs/utils.js +8 -0
  169. package/dist/ai-service/llmobs/utils.js.map +1 -1
  170. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  171. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  172. package/dist/ai-service/state-machine/clark-fsm.d.ts +1 -3
  173. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  174. package/dist/ai-service/state-machine/clark-fsm.js +6 -28
  175. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  176. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  177. package/dist/ai-service/state-machine/handlers/agent-planning.js +9 -11
  178. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  179. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  180. package/dist/ai-service/state-machine/handlers/awaiting-user.js +3 -2
  181. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  182. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  183. package/dist/ai-service/state-machine/handlers/llm-generating.js +18 -4
  184. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  185. package/dist/ai-service/state-machine/traced-fsm.d.ts +5 -4
  186. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  187. package/dist/ai-service/state-machine/traced-fsm.js +25 -25
  188. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  189. package/dist/ai-service/types.d.ts +3 -3
  190. package/dist/ai-service/types.d.ts.map +1 -1
  191. package/dist/ai-service/types.js +10 -10
  192. package/dist/ai-service/types.js.map +1 -1
  193. package/dist/socket-manager.d.ts.map +1 -1
  194. package/dist/socket-manager.js +10 -3
  195. package/dist/socket-manager.js.map +1 -1
  196. package/dist/source-tracker.d.ts.map +1 -1
  197. package/dist/source-tracker.js +8 -0
  198. package/dist/source-tracker.js.map +1 -1
  199. package/dist/sync-service/index.d.ts +7 -2
  200. package/dist/sync-service/index.d.ts.map +1 -1
  201. package/dist/sync-service/index.js +16 -9
  202. package/dist/sync-service/index.js.map +1 -1
  203. package/package.json +11 -11
  204. package/dist/ai-service/llm/interaction/compose.d.ts +0 -71
  205. package/dist/ai-service/llm/interaction/compose.d.ts.map +0 -1
  206. package/dist/ai-service/llm/interaction/compose.js +0 -88
  207. package/dist/ai-service/llm/interaction/compose.js.map +0 -1
  208. package/dist/ai-service/llm/interaction/middleware.d.ts +0 -52
  209. package/dist/ai-service/llm/interaction/middleware.d.ts.map +0 -1
  210. package/dist/ai-service/llm/interaction/middleware.js +0 -17
  211. package/dist/ai-service/llm/interaction/middleware.js.map +0 -1
  212. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +0 -45
  213. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +0 -1
  214. package/dist/ai-service/llm/interaction/middlewares/llmobs.js +0 -85
  215. package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +0 -1
  216. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +0 -88
  217. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +0 -1
  218. package/dist/ai-service/llm/interaction/middlewares/logging.js +0 -238
  219. package/dist/ai-service/llm/interaction/middlewares/logging.js.map +0 -1
  220. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +0 -47
  221. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +0 -1
  222. package/dist/ai-service/llm/interaction/middlewares/profiler.js +0 -183
  223. package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +0 -1
  224. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +0 -115
  225. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +0 -1
  226. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +0 -231
  227. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +0 -1
  228. package/dist/ai-service/llm/interaction/middlewares/utils/abort.d.ts +0 -41
  229. package/dist/ai-service/llm/interaction/middlewares/utils/abort.d.ts.map +0 -1
  230. package/dist/ai-service/llm/interaction/middlewares/utils/abort.js +0 -74
  231. package/dist/ai-service/llm/interaction/middlewares/utils/abort.js.map +0 -1
  232. package/dist/ai-service/llm/interaction/middlewares/utils/fallback-chain.d.ts +0 -61
  233. package/dist/ai-service/llm/interaction/middlewares/utils/fallback-chain.d.ts.map +0 -1
  234. package/dist/ai-service/llm/interaction/middlewares/utils/fallback-chain.js +0 -116
  235. package/dist/ai-service/llm/interaction/middlewares/utils/fallback-chain.js.map +0 -1
  236. package/dist/ai-service/llm/interaction/middlewares/utils/retries.d.ts +0 -47
  237. package/dist/ai-service/llm/interaction/middlewares/utils/retries.d.ts.map +0 -1
  238. package/dist/ai-service/llm/interaction/middlewares/utils/retries.js +0 -141
  239. package/dist/ai-service/llm/interaction/middlewares/utils/retries.js.map +0 -1
  240. package/dist/ai-service/llm/interaction/middlewares/utils/stall-detector.d.ts +0 -30
  241. package/dist/ai-service/llm/interaction/middlewares/utils/stall-detector.d.ts.map +0 -1
  242. package/dist/ai-service/llm/interaction/middlewares/utils/stall-detector.js +0 -36
  243. package/dist/ai-service/llm/interaction/middlewares/utils/stall-detector.js.map +0 -1
  244. package/dist/ai-service/llm/interaction/middlewares/utils/streams.d.ts +0 -42
  245. package/dist/ai-service/llm/interaction/middlewares/utils/streams.d.ts.map +0 -1
  246. package/dist/ai-service/llm/interaction/middlewares/utils/streams.js +0 -208
  247. package/dist/ai-service/llm/interaction/middlewares/utils/streams.js.map +0 -1
  248. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +0 -56
  249. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +0 -1
  250. package/dist/ai-service/llmobs/middleware/stream-text.js +0 -597
  251. package/dist/ai-service/llmobs/middleware/stream-text.js.map +0 -1
@@ -0,0 +1,508 @@
1
+ /**
2
+ * Mock provider helpers for testing the stream architecture.
3
+ *
4
+ * Provides declarative mock builders that make tests readable.
5
+ */
6
+ /**
7
+ * Default chunks to return from mock streams.
8
+ */
9
+ export const defaultChunks = [
10
+ { type: "text-start", id: "1" },
11
+ { type: "text-delta", id: "1", text: "Hello" },
12
+ { type: "text-delta", id: "1", text: " world" },
13
+ { type: "text-delta", id: "1", text: "!" },
14
+ { type: "text-end", id: "1" },
15
+ {
16
+ type: "finish",
17
+ finishReason: "stop",
18
+ totalUsage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
19
+ },
20
+ ];
21
+ /**
22
+ * Default response for mock results.
23
+ */
24
+ const defaultResponse = {
25
+ finishReason: "stop",
26
+ usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
27
+ totalUsage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
28
+ steps: [],
29
+ response: { messages: [] },
30
+ text: "Hello world!",
31
+ toolCalls: [],
32
+ toolResults: [],
33
+ };
34
+ /** Default usage stats for sentence-based providers. */
35
+ export const sentenceUsage = {
36
+ inputTokens: 100,
37
+ outputTokens: 50,
38
+ totalTokens: 150,
39
+ };
40
+ /**
41
+ * Create full stream chunks from an array of text strings.
42
+ */
43
+ export function chunksFromText(textChunks, usage = { inputTokens: 10, outputTokens: 5, totalTokens: 15 }) {
44
+ return [
45
+ { type: "text-start", id: "1" },
46
+ ...textChunks.map((text) => ({
47
+ type: "text-delta",
48
+ id: "1",
49
+ text,
50
+ })),
51
+ { type: "text-end", id: "1" },
52
+ {
53
+ type: "finish",
54
+ finishReason: "stop",
55
+ totalUsage: usage,
56
+ },
57
+ ];
58
+ }
59
+ /**
60
+ * Split a sentence into word-based text chunks (space-separated).
61
+ * Each word after the first is prefixed with a space.
62
+ */
63
+ export function textToChunks(text) {
64
+ const words = text.split(" ");
65
+ return words.map((word, i) => (i === 0 ? word : ` ${word}`));
66
+ }
67
+ /**
68
+ * Create a mock StreamTextResult from text chunks.
69
+ */
70
+ export function createResultFromText(textChunks, usage = { inputTokens: 10, outputTokens: 5, totalTokens: 15 }) {
71
+ const fullStreamChunks = chunksFromText(textChunks, usage);
72
+ return {
73
+ steps: Promise.resolve([]),
74
+ textStream: asyncIterableFrom(textChunks),
75
+ fullStream: asyncIterableFrom(fullStreamChunks),
76
+ response: Promise.resolve({
77
+ text: textChunks.join(""),
78
+ finishReason: "stop",
79
+ totalUsage: usage,
80
+ }),
81
+ };
82
+ }
83
+ /**
84
+ * Create a mock StreamTextResult from a sentence (splits by spaces).
85
+ */
86
+ export function createResultFromSentence(text) {
87
+ return createResultFromText(textToChunks(text), sentenceUsage);
88
+ }
89
+ /**
90
+ * Create an AsyncIterableStream from an array of items.
91
+ * Each call to [Symbol.asyncIterator]() creates a fresh iterator.
92
+ */
93
+ export function asyncIterableFrom(items) {
94
+ // Create a fresh iterator for each consumer
95
+ const createIterator = () => {
96
+ let index = 0;
97
+ return {
98
+ async next() {
99
+ if (index < items.length) {
100
+ return { done: false, value: items[index++] };
101
+ }
102
+ return { done: true, value: undefined };
103
+ },
104
+ };
105
+ };
106
+ // Create a ReadableStream with its own index
107
+ let streamIndex = 0;
108
+ const stream = new ReadableStream({
109
+ pull(controller) {
110
+ if (streamIndex < items.length) {
111
+ controller.enqueue(items[streamIndex++]);
112
+ }
113
+ else {
114
+ controller.close();
115
+ }
116
+ },
117
+ });
118
+ // Return the stream with fresh iterator for each async iteration
119
+ return Object.assign(stream, {
120
+ [Symbol.asyncIterator]: () => createIterator(),
121
+ });
122
+ }
123
+ export const MockProvider = {
124
+ /**
125
+ * Provider that always succeeds with the given chunks.
126
+ */
127
+ success(chunks = defaultChunks) {
128
+ return {
129
+ async streamText(_options) {
130
+ const fullStream = asyncIterableFrom(chunks);
131
+ const textChunks = chunks
132
+ .filter((c) => c.type === "text-delta")
133
+ .map((c) => c.text);
134
+ return {
135
+ steps: Promise.resolve([]),
136
+ fullStream,
137
+ textStream: asyncIterableFrom(textChunks),
138
+ response: Promise.resolve(defaultResponse),
139
+ };
140
+ },
141
+ };
142
+ },
143
+ /**
144
+ * Provider that always succeeds with the given text (splits by spaces).
145
+ */
146
+ successWithText(text) {
147
+ return {
148
+ async streamText() {
149
+ return createResultFromSentence(text);
150
+ },
151
+ };
152
+ },
153
+ /**
154
+ * Provider that fails on the first N attempts then succeeds.
155
+ * Optionally tracks calls by pushing to the provided `calls` array.
156
+ */
157
+ failsThenSucceeds(failCount, options = {}) {
158
+ const { error = new Error("Network error"), text, textChunks, calls, } = options;
159
+ let attempts = 0;
160
+ return {
161
+ async streamText(streamOpts) {
162
+ attempts++;
163
+ if (calls) {
164
+ calls.push({
165
+ messages: JSON.parse(JSON.stringify(streamOpts.messages ?? [])),
166
+ timestamp: Date.now(),
167
+ });
168
+ }
169
+ if (attempts <= failCount) {
170
+ throw error;
171
+ }
172
+ if (textChunks) {
173
+ return createResultFromText(textChunks);
174
+ }
175
+ if (text) {
176
+ return createResultFromSentence(text);
177
+ }
178
+ return MockProvider.success().streamText(streamOpts);
179
+ },
180
+ };
181
+ },
182
+ /**
183
+ * Provider where the stream fails after N chunks (sends error chunk).
184
+ */
185
+ streamFailsAfter(chunkCount, error = new Error("Stream error")) {
186
+ return {
187
+ async streamText(_options) {
188
+ const chunks = [
189
+ ...defaultChunks.slice(0, chunkCount),
190
+ { type: "error", error },
191
+ ];
192
+ return {
193
+ steps: Promise.resolve([]),
194
+ fullStream: asyncIterableFrom(chunks),
195
+ textStream: asyncIterableFrom([]),
196
+ response: Promise.resolve(defaultResponse),
197
+ };
198
+ },
199
+ };
200
+ },
201
+ /**
202
+ * Provider where the iterator throws after N chunks (simulates network disconnect).
203
+ * Unlike streamFailsAfter which sends an error chunk, this throws from iterator.next().
204
+ */
205
+ iteratorThrowsAfter(chunkCount, error = new Error("Network disconnected")) {
206
+ return {
207
+ async streamText(_options) {
208
+ const chunks = defaultChunks.slice(0, chunkCount);
209
+ let index = 0;
210
+ const throwingIterator = {
211
+ async next() {
212
+ if (index < chunks.length) {
213
+ return { done: false, value: chunks[index++] };
214
+ }
215
+ // Simulate network disconnect by throwing
216
+ throw error;
217
+ },
218
+ };
219
+ const stream = new ReadableStream({
220
+ async pull(controller) {
221
+ if (index < chunks.length) {
222
+ controller.enqueue(chunks[index++]);
223
+ }
224
+ else {
225
+ // Simulate network disconnect
226
+ controller.error(error);
227
+ }
228
+ },
229
+ });
230
+ return {
231
+ steps: Promise.resolve([]),
232
+ fullStream: Object.assign(stream, {
233
+ [Symbol.asyncIterator]: () => throwingIterator,
234
+ }),
235
+ textStream: asyncIterableFrom([]),
236
+ response: Promise.resolve(defaultResponse),
237
+ };
238
+ },
239
+ };
240
+ },
241
+ /**
242
+ * Provider where iterator throws on first N attempts, then succeeds.
243
+ * Simulates network issues that recover after retries.
244
+ */
245
+ iteratorThrowsThenSucceeds(failCount, options = {}) {
246
+ const { error = new Error("Network disconnected"), chunksBeforeError = 2, text, } = options;
247
+ let attempts = 0;
248
+ return {
249
+ async streamText(streamOpts) {
250
+ attempts++;
251
+ if (attempts <= failCount) {
252
+ // Return a stream that throws mid-iteration
253
+ const chunks = defaultChunks.slice(0, chunksBeforeError);
254
+ let index = 0;
255
+ const throwingIterator = {
256
+ async next() {
257
+ if (index < chunks.length) {
258
+ return { done: false, value: chunks[index++] };
259
+ }
260
+ throw error;
261
+ },
262
+ };
263
+ const stream = new ReadableStream({
264
+ async pull(controller) {
265
+ if (index < chunks.length) {
266
+ controller.enqueue(chunks[index++]);
267
+ }
268
+ else {
269
+ controller.error(error);
270
+ }
271
+ },
272
+ });
273
+ return {
274
+ steps: Promise.resolve([]),
275
+ fullStream: Object.assign(stream, {
276
+ [Symbol.asyncIterator]: () => throwingIterator,
277
+ }),
278
+ textStream: asyncIterableFrom([]),
279
+ response: Promise.resolve(defaultResponse),
280
+ };
281
+ }
282
+ // Success case
283
+ if (text) {
284
+ return createResultFromSentence(text);
285
+ }
286
+ return MockProvider.success().streamText(streamOpts);
287
+ },
288
+ };
289
+ },
290
+ /**
291
+ * Provider that stalls after N chunks.
292
+ */
293
+ streamStalls(chunkCount) {
294
+ return {
295
+ async streamText(_options) {
296
+ const chunks = defaultChunks.slice(0, chunkCount);
297
+ let index = 0;
298
+ const stallingIterable = {
299
+ [Symbol.asyncIterator]: () => ({
300
+ async next() {
301
+ if (index < chunks.length) {
302
+ return { done: false, value: chunks[index++] };
303
+ }
304
+ // stalls forever
305
+ return new Promise(() => { });
306
+ },
307
+ }),
308
+ };
309
+ const stream = new ReadableStream({
310
+ async pull(controller) {
311
+ if (index < chunks.length) {
312
+ controller.enqueue(chunks[index++]);
313
+ }
314
+ // Stall - never close
315
+ },
316
+ });
317
+ return {
318
+ steps: Promise.resolve([]),
319
+ fullStream: Object.assign(stream, {
320
+ [Symbol.asyncIterator]: () => stallingIterable[Symbol.asyncIterator](),
321
+ }),
322
+ textStream: asyncIterableFrom([]),
323
+ response: Promise.resolve(defaultResponse),
324
+ };
325
+ },
326
+ };
327
+ },
328
+ /**
329
+ * Provider that tracks calls for verification.
330
+ */
331
+ tracked(text) {
332
+ const calls = [];
333
+ return {
334
+ calls,
335
+ provider: {
336
+ async streamText(options) {
337
+ calls.push({ options, timestamp: Date.now() });
338
+ if (text) {
339
+ return createResultFromSentence(text);
340
+ }
341
+ return MockProvider.success().streamText(options);
342
+ },
343
+ },
344
+ };
345
+ },
346
+ /**
347
+ * Provider that always fails with the given error.
348
+ */
349
+ alwaysFails(error = new Error("Always fails")) {
350
+ return {
351
+ async streamText() {
352
+ throw error;
353
+ },
354
+ };
355
+ },
356
+ /**
357
+ * Provider that waits for a delay then fails.
358
+ */
359
+ slowAlwaysFails(delayMs, error = new Error("Slow failure")) {
360
+ return {
361
+ async streamText() {
362
+ await new Promise((r) => setTimeout(r, delayMs));
363
+ throw error;
364
+ },
365
+ };
366
+ },
367
+ /**
368
+ * Provider that stalls for a specified duration then continues producing chunks.
369
+ * This simulates the scenario where stall detection fires but the underlying
370
+ * stream continues to produce data (e.g., tool calls appear after the stall error).
371
+ *
372
+ * @param stallDurationMs - How long to stall before continuing
373
+ * @param chunksBeforeStall - Number of chunks to emit before stalling
374
+ * @param chunksAfterStall - Optional chunks to emit after stall (defaults to success chunks)
375
+ */
376
+ stallsThenContinues(stallDurationMs, chunksBeforeStall = 1, chunksAfterStall) {
377
+ return {
378
+ async streamText(_options) {
379
+ const preStallChunks = defaultChunks.slice(0, chunksBeforeStall);
380
+ const postStallChunks = (chunksAfterStall ?? [
381
+ { type: "text-start", id: "after-stall" },
382
+ {
383
+ type: "text-delta",
384
+ id: "after-stall",
385
+ text: "Continued after stall",
386
+ },
387
+ { type: "text-end", id: "after-stall" },
388
+ {
389
+ type: "finish",
390
+ finishReason: "stop",
391
+ totalUsage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
392
+ },
393
+ ]);
394
+ const allChunks = [...preStallChunks, ...postStallChunks];
395
+ let index = 0;
396
+ let hasStalled = false;
397
+ const stream = new ReadableStream({
398
+ async pull(controller) {
399
+ // After pre-stall chunks, stall for the specified duration
400
+ if (index === preStallChunks.length && !hasStalled) {
401
+ hasStalled = true;
402
+ await new Promise((r) => setTimeout(r, stallDurationMs));
403
+ }
404
+ if (index < allChunks.length) {
405
+ controller.enqueue(allChunks[index++]);
406
+ }
407
+ else {
408
+ controller.close();
409
+ }
410
+ },
411
+ });
412
+ const asyncIterator = {
413
+ index: 0,
414
+ hasStalled: false,
415
+ async next() {
416
+ // After pre-stall chunks, stall for the specified duration
417
+ if (this.index === preStallChunks.length && !this.hasStalled) {
418
+ this.hasStalled = true;
419
+ await new Promise((r) => setTimeout(r, stallDurationMs));
420
+ }
421
+ if (this.index < allChunks.length) {
422
+ return { done: false, value: allChunks[this.index++] };
423
+ }
424
+ return { done: true, value: undefined };
425
+ },
426
+ };
427
+ return {
428
+ steps: Promise.resolve([]),
429
+ fullStream: Object.assign(stream, {
430
+ [Symbol.asyncIterator]: () => asyncIterator,
431
+ }),
432
+ textStream: asyncIterableFrom([]),
433
+ response: Promise.resolve(defaultResponse),
434
+ };
435
+ },
436
+ };
437
+ },
438
+ /**
439
+ * Provider with slow steps on first N attempts, then succeeds.
440
+ * Simulates slow LLM responses that trigger stall detection.
441
+ */
442
+ slowStepsThenSucceeds(slowCount, stepDelayMs, options = {}) {
443
+ let attempts = 0;
444
+ return {
445
+ async streamText(streamOptions) {
446
+ attempts++;
447
+ const isSlowAttempt = attempts <= slowCount;
448
+ // Call prepareStep if provided
449
+ if (streamOptions.prepareStep) {
450
+ await streamOptions.prepareStep({
451
+ messages: streamOptions.messages ?? [],
452
+ stepNumber: 1,
453
+ });
454
+ }
455
+ if (isSlowAttempt) {
456
+ // Simulate slow step by waiting before calling onStepFinish
457
+ await new Promise((r) => setTimeout(r, stepDelayMs));
458
+ }
459
+ // Call onStepFinish
460
+ if (streamOptions.onStepFinish) {
461
+ await streamOptions.onStepFinish({
462
+ text: isSlowAttempt
463
+ ? "Slow response"
464
+ : (options.text ?? "Fast response"),
465
+ finishReason: "stop",
466
+ usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
467
+ toolCalls: [],
468
+ toolResults: [],
469
+ response: { messages: [] },
470
+ rawResponse: undefined,
471
+ request: undefined,
472
+ warnings: [],
473
+ isContinued: false,
474
+ providerMetadata: undefined,
475
+ files: [],
476
+ reasoning: undefined,
477
+ reasoningDetails: [],
478
+ sources: [],
479
+ });
480
+ }
481
+ // Call onFinish
482
+ if (streamOptions.onFinish) {
483
+ await streamOptions.onFinish({
484
+ text: options.text ?? "Response",
485
+ finishReason: "stop",
486
+ usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
487
+ totalUsage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
488
+ toolCalls: [],
489
+ toolResults: [],
490
+ response: { messages: [] },
491
+ steps: [],
492
+ rawResponse: undefined,
493
+ request: undefined,
494
+ warnings: [],
495
+ providerMetadata: undefined,
496
+ files: [],
497
+ reasoning: undefined,
498
+ reasoningDetails: [],
499
+ sources: [],
500
+ });
501
+ }
502
+ const text = options.text ?? "Response";
503
+ return createResultFromSentence(text);
504
+ },
505
+ };
506
+ },
507
+ };
508
+ //# sourceMappingURL=mock-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-provider.js","sourceRoot":"","sources":["../../../../../../src/ai-service/llm/stream/tests/helpers/mock-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ProviderType, CoreModelType } from "./config.js";
2
+ export interface ProviderInfo {
3
+ name: ProviderType;
4
+ model: CoreModelType;
5
+ }
6
+ export interface StreamMetrics {
7
+ chunkCount: number;
8
+ totalTokens: number;
9
+ retryCount: number;
10
+ totalRetryDelayMs: number;
11
+ durationMs: number;
12
+ timeToFirstTokenMs?: number;
13
+ }
14
+ export type SessionOutcome = "pending" | "complete" | "error" | "aborted";
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/types.ts"],"names":[],"mappings":""}
@@ -6,7 +6,7 @@ export type LLMProviderSettings = {
6
6
  anthropic: AnthropicProviderSettings;
7
7
  clark: ClarkProviderSettings;
8
8
  };
9
- export type LLMTask = "classifyPrompt" | "summarizeMessages" | "explain" | "openApiIntent" | "generateSpecificEdit" | "generateBroadEdit" | "generateFullAppGen";
9
+ export type LLMTask = "classifyPrompt" | "summarizeMessages" | "explain" | "openApiIntent" | "generateSpecificEdit" | "generateBroadEdit" | "generateFullAppGen" | "fast";
10
10
  export type LLMTaskModels = {
11
11
  [K in LLMTask]: LanguageModelV2;
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,yBAAyB,CAAC;IACrC,KAAK,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,OAAO,GAAG,eAAe;CAChC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,CAAC;IACpD,sBAAsB,EAAE,CACtB,cAAc,EAAE,oBAAoB,KACjC,eAAe,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,yBAAyB,CAAC;IACrC,KAAK,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,GACpB,MAAM,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,OAAO,GAAG,eAAe;CAChC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,CAAC;IACpD,sBAAsB,EAAE,CACtB,cAAc,EAAE,oBAAoB,KACjC,eAAe,CAAC;CACtB,CAAC"}
@@ -1,27 +1,8 @@
1
- import { type Logger } from "../../util/logger.js";
2
- import { type StreamTextOptions } from "../llm/interaction/index.js";
3
1
  import { LLMObsTracer } from "./tracer.js";
4
2
  import type { LLMObsSpan } from "./types.js";
5
- import type { Tool } from "../agent/tools2/types.js";
6
3
  export declare function traceWorkflow<T>(name: string, operation: (span: any) => Promise<T>, tags?: Record<string, string | boolean>, llmobs?: LLMObsTracer): Promise<T>;
7
4
  export declare function traceTask<T>(name: string, operation: (span: any) => Promise<T>, tags?: Record<string, string | boolean>, llmobs?: LLMObsTracer): Promise<T>;
8
5
  export declare function traceLLM<T>(name: string, modelName: string, modelProvider: string, operation: (span: LLMObsSpan) => Promise<T>, tags?: Record<string, string | boolean>, llmobs?: LLMObsTracer): Promise<T>;
9
6
  export declare function getJwtTraceTags(jwt: string | undefined): Record<string, string>;
10
7
  export declare function getCommonTraceTags(jwt: string | undefined, applicationId: string, organizationId: string, additionalTags?: Record<string, string | boolean>): Record<string, string | boolean>;
11
- /**
12
- * Instruments ai.streamText with LLMObs tracing.
13
- * Wraps user-provided callbacks to ensure spans are finished correctly.
14
- * Captures input/output data, metrics, errors, and metadata for each step and the overall call.
15
- *
16
- * Note: Retry logic is now handled at the LanguageModelV2 middleware level in the provider,
17
- * and chaos monkey error injection is handled at the fetch level. This function only applies
18
- * LLMObs tracing.
19
- *
20
- * @param params - Parameters to pass to streamText
21
- * @param tracer - Optional LLMObs tracer
22
- * @param logger - Optional logger
23
- *
24
- * @deprecated use the LLMClient with LLMObs middleware instead (Clark.streamText in most cases)
25
- */
26
- export declare function tracedStreamText<T extends Record<string, Tool>>(params: StreamTextOptions<T>, tracer?: LLMObsTracer, logger?: Logger): Promise<import("../llm/interaction/provider.js").StreamTextResult<T>>;
27
8
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAaZ;AAGD,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAaZ;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAeZ;AAGD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAGD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAM,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAclC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC7D,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,MAAM,GAAE,YAAoC,EAC5C,MAAM,GAAE,MAAoB,yEAQ7B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAaZ;AAGD,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAaZ;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,MAAM,GAAE,YAAoC,GAC3C,OAAO,CAAC,CAAC,CAAC,CAeZ;AAGD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUxB;AAGD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAM,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAclC"}
@@ -1,6 +1,3 @@
1
- import { getLogger } from "../../util/logger.js";
2
- import { applyMiddleware } from "../llm/interaction/compose.js";
3
- import { createLLMObsMiddleware, VercelStreamTextAdapter, } from "../llm/interaction/index.js";
4
1
  import { parseJwt } from "../util/parse-jwt.js";
5
2
  import { LLMObsTracer } from "./tracer.js";
6
3
  // Helper function for workflow tracing with common patterns
@@ -67,24 +64,4 @@ export function getCommonTraceTags(jwt, applicationId, organizationId, additiona
67
64
  Object.assign(result, additionalTags);
68
65
  return result;
69
66
  }
70
- /**
71
- * Instruments ai.streamText with LLMObs tracing.
72
- * Wraps user-provided callbacks to ensure spans are finished correctly.
73
- * Captures input/output data, metrics, errors, and metadata for each step and the overall call.
74
- *
75
- * Note: Retry logic is now handled at the LanguageModelV2 middleware level in the provider,
76
- * and chaos monkey error injection is handled at the fetch level. This function only applies
77
- * LLMObs tracing.
78
- *
79
- * @param params - Parameters to pass to streamText
80
- * @param tracer - Optional LLMObs tracer
81
- * @param logger - Optional logger
82
- *
83
- * @deprecated use the LLMClient with LLMObs middleware instead (Clark.streamText in most cases)
84
- */
85
- export function tracedStreamText(params, tracer = LLMObsTracer.instance, logger = getLogger()) {
86
- // Apply LLMObs tracing middleware
87
- const traced = applyMiddleware(new VercelStreamTextAdapter(), createLLMObsMiddleware({ tracer, logger }));
88
- return traced.streamText(params);
89
- }
90
67
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/ai-service/llmobs/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/ai-service/llmobs/helpers.ts"],"names":[],"mappings":"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"}