@superblocksteam/vite-plugin-file-sync 2.0.59-next.2 → 2.0.59-next.4

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 (277) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +10 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  4. package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -1
  5. package/dist/ai-service/agent/subagents/apis/examples.js +137 -10
  6. package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -1
  7. package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -1
  8. package/dist/ai-service/agent/subagents/apis/static-analysis.js +14 -7
  9. package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.js +6 -2
  12. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/analysis.d.ts +9 -0
  14. package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -0
  15. package/dist/ai-service/agent/tools/apis/analysis.js +357 -0
  16. package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -0
  17. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.d.ts +35 -10
  18. package/dist/ai-service/agent/tools/apis/api-executor.d.ts.map +1 -0
  19. package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.js +179 -94
  20. package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -0
  21. package/dist/ai-service/agent/tools/apis/api-source.d.ts +19 -0
  22. package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -0
  23. package/dist/ai-service/agent/tools/apis/api-source.js +73 -0
  24. package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -0
  25. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +51 -0
  26. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -0
  27. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +510 -0
  28. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -0
  29. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts +32 -0
  30. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -0
  31. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +313 -0
  32. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -0
  33. package/dist/ai-service/agent/tools/apis/build-api.d.ts +1 -10
  34. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/apis/build-api.js +26 -238
  36. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  37. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +11 -0
  38. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -0
  39. package/dist/ai-service/agent/tools/apis/get-api-docs.js +1809 -0
  40. package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -0
  41. package/dist/ai-service/agent/tools/apis/integration-types.d.ts +37 -0
  42. package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -0
  43. package/dist/ai-service/agent/tools/apis/integration-types.js +697 -0
  44. package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -0
  45. package/dist/ai-service/agent/tools/apis/test-api.d.ts +25 -0
  46. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -0
  47. package/dist/ai-service/agent/tools/apis/test-api.js +194 -0
  48. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -0
  49. package/dist/ai-service/agent/tools/apis/write-api.d.ts +11 -0
  50. package/dist/ai-service/agent/tools/apis/write-api.d.ts.map +1 -0
  51. package/dist/ai-service/agent/tools/apis/write-api.js +41 -0
  52. package/dist/ai-service/agent/tools/apis/write-api.js.map +1 -0
  53. package/dist/ai-service/agent/tools/build-read-files.js +2 -2
  54. package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
  55. package/dist/ai-service/agent/tools.d.ts +2 -5
  56. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools.js +51 -22
  58. package/dist/ai-service/agent/tools.js.map +1 -1
  59. package/dist/ai-service/agent/tools2/access-control.d.ts +1 -0
  60. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  61. package/dist/ai-service/agent/tools2/access-control.js +15 -13
  62. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  63. package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
  64. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  65. package/dist/ai-service/agent/tools2/registry.js +4 -3
  66. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  67. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -1
  68. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  69. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +103 -88
  70. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
  72. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +25 -4
  73. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
  74. package/dist/ai-service/agent/tools2/types.d.ts +1 -1
  75. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  77. package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -1
  78. package/dist/ai-service/agent/tools2/utils.js +4 -1
  79. package/dist/ai-service/agent/tools2/utils.js.map +1 -1
  80. package/dist/ai-service/agent/utils.d.ts +1 -3
  81. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  82. package/dist/ai-service/agent/utils.js +44 -4
  83. package/dist/ai-service/agent/utils.js.map +1 -1
  84. package/dist/ai-service/app-interface/shell.d.ts +5 -0
  85. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  86. package/dist/ai-service/app-interface/shell.js +17 -2
  87. package/dist/ai-service/app-interface/shell.js.map +1 -1
  88. package/dist/ai-service/chat/chat-session-store.d.ts +7 -0
  89. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  90. package/dist/ai-service/chat/chat-session-store.js +26 -0
  91. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  92. package/dist/ai-service/const.d.ts +2 -1
  93. package/dist/ai-service/const.d.ts.map +1 -1
  94. package/dist/ai-service/const.js +1 -0
  95. package/dist/ai-service/const.js.map +1 -1
  96. package/dist/ai-service/index.d.ts +5 -1
  97. package/dist/ai-service/index.d.ts.map +1 -1
  98. package/dist/ai-service/index.js +55 -7
  99. package/dist/ai-service/index.js.map +1 -1
  100. package/dist/ai-service/integrations/metadata-storage/index.d.ts +10 -0
  101. package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -1
  102. package/dist/ai-service/integrations/metadata-storage/local.d.ts +4 -2
  103. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  104. package/dist/ai-service/integrations/metadata-storage/local.js +35 -9
  105. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  106. package/dist/ai-service/integrations/store.d.ts +27 -2
  107. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  108. package/dist/ai-service/integrations/store.js +129 -62
  109. package/dist/ai-service/integrations/store.js.map +1 -1
  110. package/dist/ai-service/llm/client.d.ts +123 -0
  111. package/dist/ai-service/llm/client.d.ts.map +1 -0
  112. package/dist/ai-service/llm/client.js +168 -0
  113. package/dist/ai-service/llm/client.js.map +1 -0
  114. package/dist/ai-service/llm/context/context-handle.d.ts +4 -4
  115. package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -1
  116. package/dist/ai-service/llm/context/context-handle.js +7 -3
  117. package/dist/ai-service/llm/context/context-handle.js.map +1 -1
  118. package/dist/ai-service/llm/context/context.d.ts +28 -0
  119. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  120. package/dist/ai-service/llm/context/context.js +117 -0
  121. package/dist/ai-service/llm/context/context.js.map +1 -1
  122. package/dist/ai-service/llm/context/manager.d.ts +22 -2
  123. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  124. package/dist/ai-service/llm/context/manager.js +86 -13
  125. package/dist/ai-service/llm/context/manager.js.map +1 -1
  126. package/dist/ai-service/llm/context/storage/index.d.ts +1 -0
  127. package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -1
  128. package/dist/ai-service/llm/context/storage/local.d.ts +1 -0
  129. package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -1
  130. package/dist/ai-service/llm/context/storage/local.js +13 -1
  131. package/dist/ai-service/llm/context/storage/local.js.map +1 -1
  132. package/dist/ai-service/llm/error.d.ts +14 -4
  133. package/dist/ai-service/llm/error.d.ts.map +1 -1
  134. package/dist/ai-service/llm/error.js +49 -4
  135. package/dist/ai-service/llm/error.js.map +1 -1
  136. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +67 -0
  137. package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -0
  138. package/dist/ai-service/llm/interaction/adapters/vercel.js +110 -0
  139. package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -0
  140. package/dist/ai-service/llm/interaction/compose.d.ts +71 -0
  141. package/dist/ai-service/llm/interaction/compose.d.ts.map +1 -0
  142. package/dist/ai-service/llm/interaction/compose.js +88 -0
  143. package/dist/ai-service/llm/interaction/compose.js.map +1 -0
  144. package/dist/ai-service/llm/interaction/index.d.ts +68 -0
  145. package/dist/ai-service/llm/interaction/index.d.ts.map +1 -0
  146. package/dist/ai-service/llm/interaction/index.js +70 -0
  147. package/dist/ai-service/llm/interaction/index.js.map +1 -0
  148. package/dist/ai-service/llm/interaction/middleware.d.ts +52 -0
  149. package/dist/ai-service/llm/interaction/middleware.d.ts.map +1 -0
  150. package/dist/ai-service/llm/interaction/middleware.js +17 -0
  151. package/dist/ai-service/llm/interaction/middleware.js.map +1 -0
  152. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +45 -0
  153. package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +1 -0
  154. package/dist/ai-service/llm/interaction/middlewares/llmobs.js +85 -0
  155. package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +1 -0
  156. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +88 -0
  157. package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +1 -0
  158. package/dist/ai-service/llm/interaction/middlewares/logging.js +238 -0
  159. package/dist/ai-service/llm/interaction/middlewares/logging.js.map +1 -0
  160. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +47 -0
  161. package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +1 -0
  162. package/dist/ai-service/llm/interaction/middlewares/profiler.js +183 -0
  163. package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +1 -0
  164. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +121 -0
  165. package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +1 -0
  166. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +291 -0
  167. package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +1 -0
  168. package/dist/ai-service/llm/interaction/provider.d.ts +158 -0
  169. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -0
  170. package/dist/ai-service/llm/interaction/provider.js +15 -0
  171. package/dist/ai-service/llm/interaction/provider.js.map +1 -0
  172. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts +48 -0
  173. package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts.map +1 -0
  174. package/dist/ai-service/llm/interaction/stream-lifecycle.js +131 -0
  175. package/dist/ai-service/llm/interaction/stream-lifecycle.js.map +1 -0
  176. package/dist/ai-service/llm/provider.d.ts +1 -2
  177. package/dist/ai-service/llm/provider.d.ts.map +1 -1
  178. package/dist/ai-service/llm/provider.js +3 -6
  179. package/dist/ai-service/llm/provider.js.map +1 -1
  180. package/dist/ai-service/llmobs/helpers.d.ts +7 -8
  181. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  182. package/dist/ai-service/llmobs/helpers.js +8 -48
  183. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  184. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +19 -21
  185. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  186. package/dist/ai-service/llmobs/middleware/stream-text.js +98 -106
  187. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  188. package/dist/ai-service/llmobs/types.d.ts +14 -1
  189. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  190. package/dist/ai-service/state-machine/clark-fsm.d.ts +75 -5
  191. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  192. package/dist/ai-service/state-machine/clark-fsm.js +100 -0
  193. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  194. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  195. package/dist/ai-service/state-machine/handlers/agent-planning.js +4 -0
  196. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  197. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  198. package/dist/ai-service/state-machine/handlers/llm-generating.js +91 -456
  199. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  200. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +1 -1
  201. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  202. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  203. package/dist/ai-service/state-machine/helpers/peer.js +15 -0
  204. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  205. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  206. package/dist/ai-service/state-machine/mocks.js +1 -0
  207. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  208. package/dist/ai-service/types.d.ts +30 -0
  209. package/dist/ai-service/types.d.ts.map +1 -1
  210. package/dist/binding-extraction/extract-identifiers.d.ts +14 -0
  211. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  212. package/dist/binding-extraction/extract-identifiers.js +46 -1
  213. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  214. package/dist/binding-extraction/js-identifiers.d.ts +14 -0
  215. package/dist/binding-extraction/js-identifiers.d.ts.map +1 -1
  216. package/dist/binding-extraction/js-identifiers.js +168 -0
  217. package/dist/binding-extraction/js-identifiers.js.map +1 -1
  218. package/dist/binding-extraction/python-identifiers.d.ts +5 -0
  219. package/dist/binding-extraction/python-identifiers.d.ts.map +1 -1
  220. package/dist/binding-extraction/python-identifiers.js +76 -7
  221. package/dist/binding-extraction/python-identifiers.js.map +1 -1
  222. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  223. package/dist/file-sync-vite-plugin.js +73 -3
  224. package/dist/file-sync-vite-plugin.js.map +1 -1
  225. package/dist/file-system-manager.d.ts.map +1 -1
  226. package/dist/file-system-manager.js +6 -4
  227. package/dist/file-system-manager.js.map +1 -1
  228. package/dist/index.d.ts +1 -1
  229. package/dist/index.d.ts.map +1 -1
  230. package/dist/index.js +1 -1
  231. package/dist/index.js.map +1 -1
  232. package/dist/lock-service/activity-tracker.d.ts +14 -2
  233. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  234. package/dist/lock-service/activity-tracker.js +43 -6
  235. package/dist/lock-service/activity-tracker.js.map +1 -1
  236. package/dist/lock-service/index.d.ts +13 -2
  237. package/dist/lock-service/index.d.ts.map +1 -1
  238. package/dist/lock-service/index.js +130 -44
  239. package/dist/lock-service/index.js.map +1 -1
  240. package/dist/parsing/jsx.d.ts.map +1 -1
  241. package/dist/parsing/jsx.js +78 -66
  242. package/dist/parsing/jsx.js.map +1 -1
  243. package/dist/socket-manager.js +1 -1
  244. package/dist/socket-manager.js.map +1 -1
  245. package/dist/sync-service/list-dir.d.ts.map +1 -1
  246. package/dist/sync-service/list-dir.js +41 -18
  247. package/dist/sync-service/list-dir.js.map +1 -1
  248. package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
  249. package/dist/vite-plugin-yaml-types.js +2 -4
  250. package/dist/vite-plugin-yaml-types.js.map +1 -1
  251. package/package.json +7 -7
  252. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +0 -1
  253. package/dist/ai-service/agent/subagents/apis/api-executor.js.map +0 -1
  254. package/dist/ai-service/agent/subagents/apis/context.d.ts +0 -12
  255. package/dist/ai-service/agent/subagents/apis/context.d.ts.map +0 -1
  256. package/dist/ai-service/agent/subagents/apis/context.js +0 -18
  257. package/dist/ai-service/agent/subagents/apis/context.js.map +0 -1
  258. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +0 -40
  259. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +0 -1
  260. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +0 -516
  261. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +0 -1
  262. package/dist/ai-service/agent/subagents/apis/state.d.ts +0 -49
  263. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +0 -1
  264. package/dist/ai-service/agent/subagents/apis/state.js +0 -25
  265. package/dist/ai-service/agent/subagents/apis/state.js.map +0 -1
  266. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +0 -3
  267. package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +0 -1
  268. package/dist/ai-service/agent/subagents/apis/system-prompt.js +0 -1704
  269. package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +0 -1
  270. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +0 -11
  271. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +0 -1
  272. package/dist/ai-service/agent/tools/apis/finalize-api.js +0 -133
  273. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +0 -1
  274. package/dist/ai-service/llm/middleware/retry.d.ts +0 -112
  275. package/dist/ai-service/llm/middleware/retry.d.ts.map +0 -1
  276. package/dist/ai-service/llm/middleware/retry.js +0 -239
  277. package/dist/ai-service/llm/middleware/retry.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Stream lifecycle management utilities.
3
+ *
4
+ * Provides utilities for wrapping streams with lifecycle hooks, particularly
5
+ * `onFinally` which runs after stream consumption completes.
6
+ *
7
+ * Key challenge: The `streamText()` function returns immediately, but the
8
+ * streams are consumed asynchronously later. We need to track when consumption
9
+ * actually completes to run cleanup logic.
10
+ *
11
+ * Solution: Wrap streams with `TransformStream` that tracks consumption via
12
+ * the `flush()` method, which runs when the input stream closes.
13
+ */
14
+ /**
15
+ * Wraps a StreamTextResult to add onFinally lifecycle hook.
16
+ *
17
+ * The onFinally callback runs after stream consumption completes, handling:
18
+ * - Normal completion (stream exhausted)
19
+ * - Errors during consumption
20
+ * - Stream cancellation/abandonment
21
+ *
22
+ * Guarantees:
23
+ * - Runs exactly once, even if multiple stream accessors are used
24
+ * - Idempotent (safe to call multiple times)
25
+ * - Works with all consumption patterns (iteration, promises, piping)
26
+ *
27
+ * @param result - The stream result to wrap
28
+ * @param onFinally - Callback to run after consumption
29
+ * @returns Wrapped result with lifecycle tracking
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const result = await streamText({ model, messages });
34
+ * const wrapped = withStreamLifecycle(result, async () => {
35
+ * console.log('Stream consumed!');
36
+ * await cleanup();
37
+ * });
38
+ *
39
+ * for await (const text of wrapped.textStream) {
40
+ * console.log(text);
41
+ * }
42
+ * // onFinally runs here ^
43
+ * ```
44
+ */
45
+ export function withStreamLifecycle(result, onFinally) {
46
+ // Track whether finalization has run
47
+ let finalized = false;
48
+ /**
49
+ * Ensures onFinally runs exactly once.
50
+ * Safe to call multiple times (idempotent).
51
+ */
52
+ const ensureFinally = async () => {
53
+ if (finalized)
54
+ return;
55
+ finalized = true;
56
+ try {
57
+ await onFinally();
58
+ }
59
+ catch (error) {
60
+ // Log but don't throw - we're in cleanup, don't break the stream
61
+ console.error("[streamLifecycle] Error in onFinally:", error);
62
+ }
63
+ };
64
+ // Wrap textStream to track consumption
65
+ const wrappedTextStream = wrapAsyncIterable(result.textStream, ensureFinally);
66
+ // Wrap fullStream to track consumption
67
+ const wrappedFullStream = wrapAsyncIterable(result.fullStream, ensureFinally);
68
+ // Return result with wrapped streams
69
+ return {
70
+ ...result,
71
+ textStream: wrappedTextStream,
72
+ fullStream: wrappedFullStream,
73
+ // Note: response promise doesn't need wrapping - it resolves during
74
+ // generation, not after consumption. onFinally needs to wait for
75
+ // stream consumption, which happens via the stream wrappers above.
76
+ };
77
+ }
78
+ /**
79
+ * Wraps an async iterable with a finalization callback.
80
+ *
81
+ * Uses TransformStream to intercept the stream lifecycle:
82
+ * - `transform()`: Passes chunks through unchanged
83
+ * - `flush()`: Called when input stream closes (after all chunks processed)
84
+ * - `cancel()`: Called if stream is cancelled/abandoned
85
+ *
86
+ * The finalization callback runs in both flush() and cancel() to ensure
87
+ * cleanup happens whether the stream completes normally or is abandoned.
88
+ *
89
+ * @param source - The async iterable to wrap
90
+ * @param onFinalize - Callback to run after consumption
91
+ * @returns Wrapped async iterable
92
+ */
93
+ function wrapAsyncIterable(source, onFinalize) {
94
+ // Convert async iterable to ReadableStream if needed
95
+ let sourceStream;
96
+ if (source instanceof ReadableStream) {
97
+ sourceStream = source;
98
+ }
99
+ else {
100
+ // Manually convert async iterable to ReadableStream
101
+ sourceStream = new ReadableStream({
102
+ async start(controller) {
103
+ try {
104
+ for await (const chunk of source) {
105
+ controller.enqueue(chunk);
106
+ }
107
+ controller.close();
108
+ }
109
+ catch (error) {
110
+ controller.error(error);
111
+ }
112
+ },
113
+ });
114
+ }
115
+ // Create transform stream that tracks lifecycle
116
+ const lifecycleTransform = new TransformStream({
117
+ // Pass through all chunks unchanged
118
+ transform(chunk, controller) {
119
+ controller.enqueue(chunk);
120
+ },
121
+ // Called when input stream closes (after all chunks processed)
122
+ async flush() {
123
+ await onFinalize();
124
+ },
125
+ });
126
+ // Pipe source through lifecycle tracker
127
+ const wrappedStream = sourceStream.pipeThrough(lifecycleTransform);
128
+ // Return as AsyncIterableStream (has both stream and iterable interfaces)
129
+ return wrappedStream;
130
+ }
131
+ //# sourceMappingURL=stream-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-lifecycle.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/interaction/stream-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,mBAAmB,CAGjC,MAA+B,EAC/B,SAAqC;IAErC,qCAAqC;IACrC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB;;;OAGG;IACH,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,SAAS;YAAE,OAAO;QACtB,SAAS,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC;IAEF,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE9E,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAE9E,qCAAqC;IACrC,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,iBAAiB;QAC7B,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,iBAAiB,CACxB,MAAwB,EACxB,UAA+B;IAE/B,qDAAqD;IACrD,IAAI,YAA+B,CAAC;IACpC,IAAI,MAAM,YAAY,cAAc,EAAE,CAAC;QACrC,YAAY,GAAG,MAAM,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,YAAY,GAAG,IAAI,cAAc,CAAI;YACnC,KAAK,CAAC,KAAK,CAAC,UAAU;gBACpB,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBACjC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBACD,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAAO;QACnD,oCAAoC;QACpC,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,+DAA+D;QAC/D,KAAK,CAAC,KAAK;YACT,MAAM,UAAU,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAEnE,0EAA0E;IAC1E,OAAO,aAAuC,CAAC;AACjD,CAAC"}
@@ -1,5 +1,4 @@
1
- import { type RetryOptions } from "./middleware/retry.js";
2
1
  import type { LLMProvider, LLMProviderSettings } from "./types.js";
3
2
  import type { LLMProviderConfig } from "@superblocksteam/library-shared/types";
4
- export declare const createLLMProvider: (settings: LLMProviderSettings, getJwt?: () => string | undefined, llmConfig?: LLMProviderConfig, retryOptions?: RetryOptions) => LLMProvider;
3
+ export declare const createLLMProvider: (settings: LLMProviderSettings, getJwt?: () => string | undefined, llmConfig?: LLMProviderConfig) => LLMProvider;
5
4
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,eAAO,MAAM,iBAAiB,GAC5B,UAAU,mBAAmB,EAC7B,SAAS,MAAM,MAAM,GAAG,SAAS,EACjC,YAAY,iBAAiB,EAC7B,eAAe,YAAY,KAC1B,WA6DF,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,eAAO,MAAM,iBAAiB,GAC5B,UAAU,mBAAmB,EAC7B,SAAS,MAAM,MAAM,GAAG,SAAS,EACjC,YAAY,iBAAiB,KAC5B,WAuDF,CAAC"}
@@ -2,18 +2,15 @@ import { customProvider, wrapLanguageModel } from "ai";
2
2
  import { getLogger } from "../../util/logger.js";
3
3
  import { anthropicImpl } from "./impl/anthropic.js";
4
4
  import { clarkImpl } from "./impl/clark.js";
5
- import { retryMiddleware } from "./middleware/retry.js";
6
5
  import { jwtMiddleware, modelFromClassification } from "./utils.js";
7
- export const createLLMProvider = (settings, getJwt, llmConfig, retryOptions) => {
6
+ export const createLLMProvider = (settings, getJwt, llmConfig) => {
8
7
  const providerType = llmConfig?.provider || "bedrock";
9
8
  const wrapDefaults = (model) => wrapLanguageModel({
10
9
  model,
11
10
  middleware: [
12
11
  jwtMiddleware(getJwt),
13
- retryMiddleware(providerType, {
14
- maxTotalRetryTimeMs: 2 * 60 * 1000, // 2 minutes
15
- ...retryOptions,
16
- }, getLogger()),
12
+ // Note: Retry is now handled at the StreamText level via createStreamRetryMiddleware
13
+ // to ensure fresh Vercel SDK state and correct message sequences on retry
17
14
  ],
18
15
  });
19
16
  getLogger().info(`Creating LLM provider: type=${providerType}, config=${JSON.stringify(llmConfig || {})}`);
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAUpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAA6B,EAC7B,MAAiC,EACjC,SAA6B,EAC7B,YAA2B,EACd,EAAE;IACf,MAAM,YAAY,GAAG,SAAS,EAAE,QAAQ,IAAI,SAAS,CAAC;IAEtD,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,EAAE,CAC9C,iBAAiB,CAAC;QAChB,KAAK;QACL,UAAU,EAAE;YACV,aAAa,CAAC,MAAM,CAAC;YACrB,eAAe,CACb,YAAY,EACZ;gBACE,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;gBAChD,GAAG,YAAY;aAChB,EACD,SAAS,EAAE,CACZ;SACF;KACF,CAAC,CAAC;IACL,SAAS,EAAE,CAAC,IAAI,CACd,+BAA+B,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CACzF,CAAC;IACF,IAAI,QAAQ,CAAC;IACb,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,QAAQ,GAAG,SAAS,CAAC;YACrB,MAAM;QACR,KAAK,QAAQ;YACX,QAAQ,GAAG,SAAS,CAAC;YACrB,MAAM;QACR,KAAK,WAAW,CAAC;QACjB;YACE,QAAQ,GAAG,aAAa,CAAC;YACzB,MAAM;IACV,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,cAAc,GAAkB;QACpC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,oBAAoB,EAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC7D,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACvD,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACzD,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;KACxD,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE;QACxC,OAAO,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,YAAY;QACZ,sBAAsB,EAAE,CAAC,cAAc,EAAE,EAAE,CACzC,uBAAuB,CAAC,YAAY,EAAE,cAAc,CAAC;KACxD,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/ai-service/llm/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAUpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAA6B,EAC7B,MAAiC,EACjC,SAA6B,EAChB,EAAE;IACf,MAAM,YAAY,GAAG,SAAS,EAAE,QAAQ,IAAI,SAAS,CAAC;IAEtD,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,EAAE,CAC9C,iBAAiB,CAAC;QAChB,KAAK;QACL,UAAU,EAAE;YACV,aAAa,CAAC,MAAM,CAAC;YACrB,qFAAqF;YACrF,0EAA0E;SAC3E;KACF,CAAC,CAAC;IACL,SAAS,EAAE,CAAC,IAAI,CACd,+BAA+B,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CACzF,CAAC;IACF,IAAI,QAAQ,CAAC;IACb,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,QAAQ,GAAG,SAAS,CAAC;YACrB,MAAM;QACR,KAAK,QAAQ;YACX,QAAQ,GAAG,SAAS,CAAC;YACrB,MAAM;QACR,KAAK,WAAW,CAAC;QACjB;YACE,QAAQ,GAAG,aAAa,CAAC;YACzB,MAAM;IACV,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,cAAc,GAAkB;QACpC,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QACjD,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,oBAAoB,EAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC7D,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACvD,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACzD,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;KACxD,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE;QACxC,OAAO,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,YAAY;QACZ,sBAAsB,EAAE,CAAC,cAAc,EAAE,EAAE,CACzC,uBAAuB,CAAC,YAAY,EAAE,cAAc,CAAC;KACxD,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
- import { streamText, type ToolSet } from "ai";
2
1
  import { type Logger } from "../../util/logger.js";
2
+ import { type StreamTextOptions } from "../llm/interaction/index.js";
3
3
  import { LLMObsTracer } from "./tracer.js";
4
4
  import type { LLMObsSpan } from "./types.js";
5
+ import type { Tool } from "../agent/tools2/types.js";
5
6
  export declare function traceWorkflow<T>(name: string, operation: (span: any) => Promise<T>, tags?: Record<string, string | boolean>, llmobs?: LLMObsTracer): Promise<T>;
6
7
  export declare function traceTask<T>(name: string, operation: (span: any) => Promise<T>, tags?: Record<string, string | boolean>, llmobs?: LLMObsTracer): Promise<T>;
7
8
  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>;
@@ -16,13 +17,11 @@ export declare function getCommonTraceTags(jwt: string | undefined, applicationI
16
17
  * and chaos monkey error injection is handled at the fetch level. This function only applies
17
18
  * LLMObs tracing.
18
19
  *
19
- * @param clark - Clark state machine instance
20
- * @param services - Clark state handler parameters
21
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)
22
25
  */
23
- export declare function tracedStreamText<T extends ToolSet>(params: Parameters<typeof streamText<T>>[0], tracer?: LLMObsTracer, logger?: Logger): import("ai").StreamTextResult<T, never>;
24
- export declare const traceToolSet: <T extends ToolSet>(toolset: T, llmobs?: LLMObsTracer, hooks?: {
25
- beforeExecute?: (name: string) => void;
26
- afterExecute?: (name: string, span: LLMObsSpan) => void;
27
- }) => T;
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>>;
28
27
  //# 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,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,sBAAsB,CAAC;AAI9D,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;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3C,MAAM,GAAE,YAAoC,EAC5C,MAAM,GAAE,MAAoB,2CAa7B;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,OAAO,EAC5C,SAAS,CAAC,EACV,SAAQ,YAAoC,EAC5C,QAAQ;IACN,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACzD,KACA,CAyCF,CAAC"}
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,8 +1,7 @@
1
- import { streamText } from "ai";
2
1
  import { getLogger } from "../../util/logger.js";
2
+ import { applyMiddleware } from "../llm/interaction/compose.js";
3
+ import { createLLMObsMiddleware, VercelStreamTextAdapter, } from "../llm/interaction/index.js";
3
4
  import { parseJwt } from "../util/parse-jwt.js";
4
- import { safeJsonStringify } from "../util/safe-stringify.js";
5
- import { LLMObsStreamTextMiddleware } from "./middleware/stream-text.js";
6
5
  import { LLMObsTracer } from "./tracer.js";
7
6
  // Helper function for workflow tracing with common patterns
8
7
  export function traceWorkflow(name, operation, tags, llmobs = LLMObsTracer.instance) {
@@ -77,54 +76,15 @@ export function getCommonTraceTags(jwt, applicationId, organizationId, additiona
77
76
  * and chaos monkey error injection is handled at the fetch level. This function only applies
78
77
  * LLMObs tracing.
79
78
  *
80
- * @param clark - Clark state machine instance
81
- * @param services - Clark state handler parameters
82
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)
83
84
  */
84
85
  export function tracedStreamText(params, tracer = LLMObsTracer.instance, logger = getLogger()) {
85
- // Disable built-in retries - we handle retries at the LanguageModelV2 middleware level
86
- params = {
87
- ...params,
88
- maxRetries: 0,
89
- };
90
86
  // Apply LLMObs tracing middleware
91
- const llmobsMiddleware = new LLMObsStreamTextMiddleware(tracer, logger);
92
- const tracedStreamText = llmobsMiddleware.wrap(streamText);
93
- return tracedStreamText(params);
87
+ const traced = applyMiddleware(new VercelStreamTextAdapter(), createLLMObsMiddleware({ tracer, logger }));
88
+ return traced.streamText(params);
94
89
  }
95
- export const traceToolSet = (toolset, llmobs = LLMObsTracer.instance, hooks) => {
96
- const tracedToolset = {};
97
- for (const [name, tool] of Object.entries(toolset)) {
98
- tracedToolset[name] = {
99
- ...tool,
100
- execute: async (input, options) => {
101
- hooks?.beforeExecute?.(name);
102
- return await llmobs.trace({
103
- kind: "tool",
104
- name: `tool.${name}`,
105
- }, async (span) => {
106
- if (!tool.execute) {
107
- throw new Error(`Tool ${name} has no execute method`);
108
- }
109
- const result = await tool.execute(input, options);
110
- hooks?.afterExecute?.(name, span);
111
- const metadata = {
112
- toolCallid: options?.toolCallId,
113
- ...Object.fromEntries(Object.entries(tool).map(([key, value]) => [
114
- key,
115
- safeJsonStringify(value),
116
- ])),
117
- };
118
- llmobs.annotate(span, {
119
- inputData: safeJsonStringify(input),
120
- outputData: safeJsonStringify(result),
121
- metadata,
122
- });
123
- return result;
124
- });
125
- },
126
- };
127
- }
128
- return tracedToolset;
129
- };
130
90
  //# 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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"}
@@ -1,11 +1,8 @@
1
1
  import { type Logger } from "../../../util/logger.js";
2
2
  import { LLMObsTracer, type LLMObsSpan } from "../index.js";
3
- import type { ToolSet, StreamTextOnStepFinishCallback, LanguageModel, StreamTextOnFinishCallback, StreamTextOnErrorCallback, StepResult, ModelMessage, PrepareStepFunction, PrepareStepResult, StreamTextOnChunkCallback } from "ai";
4
- import type { streamText } from "ai";
5
- type StreamAbortEvent<T extends ToolSet> = {
6
- readonly steps: StepResult<T>[];
7
- };
8
- type StreamTextOnAbortCallback<T extends ToolSet> = (event: StreamAbortEvent<T>) => PromiseLike<void> | void;
3
+ import type { Tool } from "../../agent/tools2/types.js";
4
+ import type { StepParameters, StreamChunk, FinalResult } from "../../llm/interaction/provider.js";
5
+ import type { ToolSet, LanguageModel, StepResult, AsyncIterableStream } from "ai";
9
6
  type StreamSegment = {
10
7
  type: "text" | "reasoning" | "tool-call" | "tool-result" | "tool-input" | "raw" | "thinking" | "source";
11
8
  span: LLMObsSpan;
@@ -25,22 +22,22 @@ export declare class LLMObsStreamTextMiddleware {
25
22
  llmobs: LLMObsTracer;
26
23
  logger: Logger;
27
24
  private errorLogged;
28
- wrap<T extends ToolSet>(fn: typeof streamText<T>): typeof streamText<T>;
29
- constructor(llmobs?: LLMObsTracer, logger?: Logger);
30
- private transform;
31
- prepareStep<T extends ToolSet>(options: Parameters<PrepareStepFunction<T>>[0], next?: PrepareStepFunction<T>): Promise<{
32
- steps: StepResult<NoInfer<T>>[];
33
- stepNumber: number;
34
- model: LanguageModel;
35
- messages: Array<ModelMessage>;
36
- } | PrepareStepResult<T>>;
37
- onChunk<T extends ToolSet>(event: Parameters<StreamTextOnChunkCallback<T>>[0], next?: StreamTextOnChunkCallback<T>): Promise<void>;
38
- onStepFinish<T extends ToolSet>(result: Parameters<StreamTextOnStepFinishCallback<T>>[0], next?: StreamTextOnStepFinishCallback<T>): Promise<void>;
39
- onError(event: Parameters<StreamTextOnErrorCallback>[0], next?: StreamTextOnErrorCallback): Promise<void>;
40
- onAbort<T extends ToolSet>(event: StreamAbortEvent<T>, next?: StreamTextOnAbortCallback<T>): Promise<void>;
41
- onFinish<T extends ToolSet>(event: Parameters<StreamTextOnFinishCallback<T>>[0], next?: StreamTextOnFinishCallback<T>): Promise<void>;
25
+ constructor(model: LanguageModel, tools?: Record<string, Tool>, llmobs?: LLMObsTracer, logger?: Logger);
26
+ /**
27
+ * Handles stream errors by logging and finishing spans.
28
+ * Public so it can be called from stream wrappers.
29
+ */
30
+ handleStreamError(error: unknown): void;
31
+ wrapTools<TOOLS extends Record<string, Tool>>(tools: TOOLS): TOOLS;
32
+ prepareStep(step: StepParameters, model: LanguageModel, next?: (step: StepParameters) => Promise<StepParameters> | StepParameters): Promise<StepParameters>;
33
+ onChunk(chunk: StreamChunk, next?: (event: {
34
+ chunk: StreamChunk;
35
+ }) => Promise<void> | void): Promise<void>;
36
+ onStepFinish(step: StepResult<any>, next?: (step: StepResult<any>) => Promise<void> | void): Promise<void>;
37
+ onError(error: Error, next?: (error: Error) => Promise<void> | void): Promise<void>;
38
+ onAbort(next?: () => Promise<void> | void): Promise<void>;
39
+ onFinish(result: FinalResult, next?: (result: FinalResult) => Promise<void> | void): Promise<void>;
42
40
  onFinally(): Promise<void>;
43
- private handleStreamError;
44
41
  private handleToolExecuteStart;
45
42
  private logStreamError;
46
43
  private ensureSegment;
@@ -56,5 +53,6 @@ export declare class LLMObsStreamTextMiddleware {
56
53
  private finishFullSpan;
57
54
  private setModel;
58
55
  }
56
+ export declare function wrapStream<T>(source: AsyncIterable<T>, onError: (err: unknown) => Promise<void>, onFinally: () => Promise<void>): AsyncIterableStream<T>;
59
57
  export {};
60
58
  //# sourceMappingURL=stream-text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-text.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llmobs/middleware/stream-text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-text.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llmobs/middleware/stream-text.ts"],"names":[],"mappings":"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"}