@superblocksteam/vite-plugin-file-sync 2.0.72-next.12 → 2.0.72-next.15

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 (284) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +18 -2
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/testing/index.d.ts +3 -0
  6. package/dist/ai-service/agent/subagents/testing/index.d.ts.map +1 -0
  7. package/dist/ai-service/agent/subagents/testing/index.js +2 -0
  8. package/dist/ai-service/agent/subagents/testing/index.js.map +1 -0
  9. package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts +10 -0
  10. package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts.map +1 -0
  11. package/dist/ai-service/agent/subagents/testing/prompt-builder.js +162 -0
  12. package/dist/ai-service/agent/subagents/testing/prompt-builder.js.map +1 -0
  13. package/dist/ai-service/agent/subagents/testing/types.d.ts +67 -0
  14. package/dist/ai-service/agent/subagents/testing/types.d.ts.map +1 -0
  15. package/dist/ai-service/agent/subagents/testing/types.js +2 -0
  16. package/dist/ai-service/agent/subagents/testing/types.js.map +1 -0
  17. package/dist/ai-service/agent/subagents/types.d.ts +9 -8
  18. package/dist/ai-service/agent/subagents/types.d.ts.map +1 -1
  19. package/dist/ai-service/agent/subagents/types.js +9 -9
  20. package/dist/ai-service/agent/subagents/types.js.map +1 -1
  21. package/dist/ai-service/agent/tool-message-utils.d.ts +7 -2
  22. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tool-message-utils.js +21 -2
  24. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  25. package/dist/ai-service/agent/tools/apis/api-source.d.ts +1 -1
  26. package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools/apis/api-source.js +37 -9
  28. package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -1
  29. package/dist/ai-service/agent/tools/apis/test-api.js +1 -1
  30. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  31. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
  32. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  33. package/dist/ai-service/agent/tools/build-capture-screenshot.js +4 -2
  34. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  35. package/dist/ai-service/agent/tools/build-delete-file.d.ts +1 -1
  36. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  37. package/dist/ai-service/agent/tools/{build-read-files.d.ts → build-read-file.d.ts} +10 -6
  38. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -0
  39. package/dist/ai-service/agent/tools/build-read-file.js +139 -0
  40. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -0
  41. package/dist/ai-service/agent/tools/build-reload-file.d.ts +9 -3
  42. package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-reload-file.js +20 -9
  44. package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
  45. package/dist/ai-service/agent/tools/get-console-logs.js +1 -1
  46. package/dist/ai-service/agent/tools/get-console-logs.js.map +1 -1
  47. package/dist/ai-service/agent/tools/get-runtime-errors.js +1 -1
  48. package/dist/ai-service/agent/tools/get-runtime-errors.js.map +1 -1
  49. package/dist/ai-service/agent/tools/index.d.ts +5 -1
  50. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  51. package/dist/ai-service/agent/tools/index.js +5 -1
  52. package/dist/ai-service/agent/tools/index.js.map +1 -1
  53. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  54. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools/integrations/internal.js +8 -1
  56. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  57. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  58. package/dist/ai-service/agent/tools.js +124 -31
  59. package/dist/ai-service/agent/tools.js.map +1 -1
  60. package/dist/ai-service/agent/tools2/access-control.d.ts +23 -1
  61. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  62. package/dist/ai-service/agent/tools2/access-control.js +67 -1
  63. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  64. package/dist/ai-service/agent/tools2/entity-permissions.d.ts +26 -0
  65. package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -1
  66. package/dist/ai-service/agent/tools2/entity-permissions.js +15 -0
  67. package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -1
  68. package/dist/ai-service/agent/tools2/example.d.ts.map +1 -1
  69. package/dist/ai-service/agent/tools2/example.js +2 -4
  70. package/dist/ai-service/agent/tools2/example.js.map +1 -1
  71. package/dist/ai-service/agent/tools2/index.d.ts +1 -1
  72. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
  73. package/dist/ai-service/agent/tools2/index.js +1 -1
  74. package/dist/ai-service/agent/tools2/index.js.map +1 -1
  75. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools2/registry.js +37 -23
  77. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  78. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +0 -1
  79. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
  80. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +1 -6
  81. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  82. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +31 -0
  83. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts.map +1 -0
  84. package/dist/ai-service/agent/tools2/tools/end-test-run.js +107 -0
  85. package/dist/ai-service/agent/tools2/tools/end-test-run.js.map +1 -0
  86. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -1
  87. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  88. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +63 -76
  89. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  90. package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +15 -0
  91. package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts.map +1 -0
  92. package/dist/ai-service/agent/tools2/tools/list-attachments.js +47 -0
  93. package/dist/ai-service/agent/tools2/tools/list-attachments.js.map +1 -0
  94. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts +24 -0
  95. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -0
  96. package/dist/ai-service/agent/tools2/tools/start-test-run.js +340 -0
  97. package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -0
  98. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +29 -0
  99. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts.map +1 -0
  100. package/dist/ai-service/agent/tools2/tools/update-test-case-status.js +106 -0
  101. package/dist/ai-service/agent/tools2/tools/update-test-case-status.js.map +1 -0
  102. package/dist/ai-service/agent/tools2/types.d.ts +6 -24
  103. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  104. package/dist/ai-service/agent/tools2/types.js +4 -15
  105. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  106. package/dist/ai-service/agent/utils.d.ts +10 -0
  107. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  108. package/dist/ai-service/agent/utils.js +160 -2
  109. package/dist/ai-service/agent/utils.js.map +1 -1
  110. package/dist/ai-service/attachments/index.d.ts +2 -0
  111. package/dist/ai-service/attachments/index.d.ts.map +1 -0
  112. package/dist/ai-service/attachments/index.js +2 -0
  113. package/dist/ai-service/attachments/index.js.map +1 -0
  114. package/dist/ai-service/attachments/store.d.ts +65 -0
  115. package/dist/ai-service/attachments/store.d.ts.map +1 -0
  116. package/dist/ai-service/attachments/store.js +158 -0
  117. package/dist/ai-service/attachments/store.js.map +1 -0
  118. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  119. package/dist/ai-service/chat/chat-session-store.js +133 -1
  120. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  121. package/dist/ai-service/context-download.d.ts +24 -0
  122. package/dist/ai-service/context-download.d.ts.map +1 -0
  123. package/dist/ai-service/context-download.js +127 -0
  124. package/dist/ai-service/context-download.js.map +1 -0
  125. package/dist/ai-service/context-upload.d.ts +17 -0
  126. package/dist/ai-service/context-upload.d.ts.map +1 -0
  127. package/dist/ai-service/context-upload.js +100 -0
  128. package/dist/ai-service/context-upload.js.map +1 -0
  129. package/dist/ai-service/features.d.ts +4 -0
  130. package/dist/ai-service/features.d.ts.map +1 -1
  131. package/dist/ai-service/features.js +4 -0
  132. package/dist/ai-service/features.js.map +1 -1
  133. package/dist/ai-service/index.d.ts +27 -3
  134. package/dist/ai-service/index.d.ts.map +1 -1
  135. package/dist/ai-service/index.js +259 -20
  136. package/dist/ai-service/index.js.map +1 -1
  137. package/dist/ai-service/judge/integration/mcp-client.d.ts +3 -6
  138. package/dist/ai-service/judge/integration/mcp-client.d.ts.map +1 -1
  139. package/dist/ai-service/judge/integration/mcp-client.js.map +1 -1
  140. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  141. package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
  142. package/dist/ai-service/llm/client.d.ts +6 -0
  143. package/dist/ai-service/llm/client.d.ts.map +1 -1
  144. package/dist/ai-service/llm/client.js +9 -0
  145. package/dist/ai-service/llm/client.js.map +1 -1
  146. package/dist/ai-service/llm/context/constants.d.ts +8 -0
  147. package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
  148. package/dist/ai-service/llm/context/constants.js +8 -0
  149. package/dist/ai-service/llm/context/constants.js.map +1 -1
  150. package/dist/ai-service/llm/context/context.d.ts +4 -0
  151. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  152. package/dist/ai-service/llm/context/context.js +22 -9
  153. package/dist/ai-service/llm/context/context.js.map +1 -1
  154. package/dist/ai-service/llm/context/manager.d.ts +6 -1
  155. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  156. package/dist/ai-service/llm/context/manager.js +9 -1
  157. package/dist/ai-service/llm/context/manager.js.map +1 -1
  158. package/dist/ai-service/llm/context/serialization.d.ts +3 -0
  159. package/dist/ai-service/llm/context/serialization.d.ts.map +1 -1
  160. package/dist/ai-service/llm/context/utils/message-utils.d.ts +10 -0
  161. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  162. package/dist/ai-service/llm/context/utils/message-utils.js +92 -0
  163. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  164. package/dist/ai-service/llm/interaction/provider.d.ts +1 -0
  165. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
  166. package/dist/ai-service/llm/stream/config.d.ts +2 -0
  167. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  168. package/dist/ai-service/llm/stream/config.js +1 -0
  169. package/dist/ai-service/llm/stream/config.js.map +1 -1
  170. package/dist/ai-service/llm/stream/event-bus.d.ts +5 -0
  171. package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -1
  172. package/dist/ai-service/llm/stream/event-bus.js.map +1 -1
  173. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +4 -1
  174. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  175. package/dist/ai-service/llm/stream/observers/llmobs.js +194 -10
  176. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  177. package/dist/ai-service/llm/stream/observers/logging.d.ts +1 -0
  178. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  179. package/dist/ai-service/llm/stream/observers/logging.js +92 -20
  180. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  181. package/dist/ai-service/llm/stream/orchestrator.d.ts +7 -1
  182. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  183. package/dist/ai-service/llm/stream/orchestrator.js +23 -3
  184. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  185. package/dist/ai-service/llm/stream/retry-engine.d.ts +1 -0
  186. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  187. package/dist/ai-service/llm/stream/retry-engine.js +20 -1
  188. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  189. package/dist/ai-service/llm/stream/session.d.ts +14 -2
  190. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  191. package/dist/ai-service/llm/stream/session.js +15 -28
  192. package/dist/ai-service/llm/stream/session.js.map +1 -1
  193. package/dist/ai-service/llmobs/otel-exporter.d.ts +58 -0
  194. package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -0
  195. package/dist/ai-service/llmobs/otel-exporter.js +182 -0
  196. package/dist/ai-service/llmobs/otel-exporter.js.map +1 -0
  197. package/dist/ai-service/llmobs/tracer.d.ts +9 -5
  198. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  199. package/dist/ai-service/llmobs/tracer.js +46 -41
  200. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  201. package/dist/ai-service/llmobs/types.d.ts +1 -0
  202. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  203. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts +1 -1
  204. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts.map +1 -1
  205. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js +5 -2
  206. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js.map +1 -1
  207. package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts +33 -1
  208. package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts.map +1 -1
  209. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +949 -91
  210. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
  211. package/dist/ai-service/mcp/playwright-server.d.ts +39 -0
  212. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  213. package/dist/ai-service/mcp/playwright-server.js +56 -0
  214. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  215. package/dist/ai-service/mcp/types.d.ts +4 -0
  216. package/dist/ai-service/mcp/types.d.ts.map +1 -1
  217. package/dist/ai-service/prompts/explain-code.d.ts +2 -2
  218. package/dist/ai-service/prompts/explain-code.d.ts.map +1 -1
  219. package/dist/ai-service/prompts/explain-code.js +2 -2
  220. package/dist/ai-service/prompts/explain-code.js.map +1 -1
  221. package/dist/ai-service/state-machine/clark-fsm.d.ts +20 -1
  222. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  223. package/dist/ai-service/state-machine/clark-fsm.js +16 -0
  224. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  225. package/dist/ai-service/state-machine/fsm.d.ts.map +1 -1
  226. package/dist/ai-service/state-machine/fsm.js +1 -0
  227. package/dist/ai-service/state-machine/fsm.js.map +1 -1
  228. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  229. package/dist/ai-service/state-machine/handlers/agent-planning.js +71 -7
  230. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  231. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  232. package/dist/ai-service/state-machine/handlers/llm-generating.js +112 -33
  233. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  234. package/dist/ai-service/state-machine/helpers/peer.d.ts +1 -1
  235. package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
  236. package/dist/ai-service/state-machine/helpers/peer.js +21 -4
  237. package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
  238. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  239. package/dist/ai-service/state-machine/mocks.js +2 -0
  240. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  241. package/dist/ai-service/state-machine/traced-fsm.d.ts +2 -0
  242. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  243. package/dist/ai-service/state-machine/traced-fsm.js +18 -0
  244. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  245. package/dist/ai-service/util/safe-parse.d.ts +2 -0
  246. package/dist/ai-service/util/safe-parse.d.ts.map +1 -0
  247. package/dist/ai-service/util/safe-parse.js +9 -0
  248. package/dist/ai-service/util/safe-parse.js.map +1 -0
  249. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
  250. package/dist/ai-service/util/safe-stringify.js +7 -0
  251. package/dist/ai-service/util/safe-stringify.js.map +1 -1
  252. package/dist/ai-service/util/scoped-token-utils.d.ts +15 -0
  253. package/dist/ai-service/util/scoped-token-utils.d.ts.map +1 -0
  254. package/dist/ai-service/util/scoped-token-utils.js +131 -0
  255. package/dist/ai-service/util/scoped-token-utils.js.map +1 -0
  256. package/dist/ai-service/util/stop-condition.d.ts +1 -0
  257. package/dist/ai-service/util/stop-condition.d.ts.map +1 -1
  258. package/dist/ai-service/util/stop-condition.js +5 -0
  259. package/dist/ai-service/util/stop-condition.js.map +1 -1
  260. package/dist/ai-service/util/strip-content.d.ts +2 -0
  261. package/dist/ai-service/util/strip-content.d.ts.map +1 -0
  262. package/dist/ai-service/util/strip-content.js +31 -0
  263. package/dist/ai-service/util/strip-content.js.map +1 -0
  264. package/dist/ai-service/util/tool-signature.d.ts +13 -0
  265. package/dist/ai-service/util/tool-signature.d.ts.map +1 -0
  266. package/dist/ai-service/util/tool-signature.js +38 -0
  267. package/dist/ai-service/util/tool-signature.js.map +1 -0
  268. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  269. package/dist/file-sync-vite-plugin.js +4 -1
  270. package/dist/file-sync-vite-plugin.js.map +1 -1
  271. package/dist/injected-index.js +2 -2
  272. package/dist/injected-index.js.map +1 -1
  273. package/dist/parsing/jsx.d.ts.map +1 -1
  274. package/dist/parsing/jsx.js +0 -2
  275. package/dist/parsing/jsx.js.map +1 -1
  276. package/dist/server-rpc/index.js +1 -1
  277. package/dist/server-rpc/index.js.map +1 -1
  278. package/dist/socket-manager.d.ts.map +1 -1
  279. package/dist/socket-manager.js +61 -4
  280. package/dist/socket-manager.js.map +1 -1
  281. package/package.json +9 -9
  282. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +0 -1
  283. package/dist/ai-service/agent/tools/build-read-files.js +0 -67
  284. package/dist/ai-service/agent/tools/build-read-files.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { getErrorMeta } from "../../../util/logger.js";
1
2
  import { LLMProviderError } from "../error.js";
2
3
  import { AbortedError, RetriesExhaustedError } from "./errors.js";
3
4
  import { createManagedStream } from "./managed-stream.js";
@@ -37,11 +38,17 @@ export class StreamOrchestrator {
37
38
  config;
38
39
  observers;
39
40
  logger;
41
+ organizationId;
42
+ applicationId;
43
+ getJwt;
40
44
  constructor(options) {
41
45
  this.provider = options.provider;
42
46
  this.config = options.config;
43
47
  this.observers = options.observers ?? [];
44
48
  this.logger = options.logger;
49
+ this.organizationId = options.organizationId;
50
+ this.applicationId = options.applicationId;
51
+ this.getJwt = options.getJwt;
45
52
  }
46
53
  async execute(options) {
47
54
  if (options.abortSignal?.aborted) {
@@ -49,7 +56,13 @@ export class StreamOrchestrator {
49
56
  }
50
57
  const retryEngine = new RetryEngine(this.config);
51
58
  const initialProvider = retryEngine.getInitialProvider();
52
- const session = new StreamSession(this.config, initialProvider);
59
+ const session = new StreamSession({
60
+ config: this.config,
61
+ initialProvider,
62
+ organizationId: this.organizationId,
63
+ applicationId: this.applicationId,
64
+ getJwt: this.getJwt,
65
+ });
53
66
  const internalAbortController = new AbortController();
54
67
  if (options.abortSignal) {
55
68
  options.abortSignal.addEventListener("abort", () => {
@@ -164,7 +177,7 @@ export class StreamOrchestrator {
164
177
  if (decision.newProvider) {
165
178
  const oldProvider = session.provider;
166
179
  session.provider = decision.newProvider;
167
- this.logger.info(`[orchestrator] Switching provider: ${oldProvider.name}/${oldProvider.model} -> ${decision.newProvider.name}/${decision.newProvider.model}`);
180
+ this.logger.info(`[orchestrator] Switching provider: ${oldProvider.name}/${oldProvider.model} -> ${decision.newProvider.name}/${decision.newProvider.model}`, getErrorMeta(error));
168
181
  await session.events.emit("fallback", oldProvider, decision.newProvider, this.getFallbackReason(error), session);
169
182
  }
170
183
  session.recordRetry(decision.delayMs);
@@ -230,7 +243,14 @@ export class StreamOrchestrator {
230
243
  this.logger.debug(`[orchestrator] Attempt ${session.attempt} with provider=${session.provider.name} model=${session.provider.model}`);
231
244
  return this.provider.streamText({
232
245
  ...providerOptions,
233
- prepareStep: options.prepareStep,
246
+ prepareStep: async (step) => {
247
+ const preparedStep = (await options.prepareStep?.(step)) ?? step;
248
+ await session.events.emit("step:start", {
249
+ stepNumber: preparedStep.stepNumber,
250
+ activeTools: preparedStep.activeTools,
251
+ }, session);
252
+ return preparedStep;
253
+ },
234
254
  onStepFinish: async (step) => {
235
255
  await session.events.emit("step:complete", step, session);
236
256
  await options.onStepFinish?.(step);
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA2B7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,kBAAkB;IACZ,QAAQ,CAAqB;IAC7B,MAAM,CAAe;IACrB,SAAS,CAAmB;IAC5B,MAAM,CAAS;IACf,cAAc,CAAU;IACxB,aAAa,CAAU;IACvB,MAAM,CAA4B;IAEnD,YAAY,OAAkC;QAC5C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAA6C;QAE7C,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAG,IAAI,eAAe,EAAE,CAAC;QAEtD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjD,uBAAuB,CAAC,KAAK,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAyC;YAC7D,GAAG,OAAO;YACV,WAAW,EAAE,uBAAuB,CAAC,MAAM;SAC5C,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mCAAmC,OAAO,CAAC,EAAE,kBAAkB,eAAe,CAAC,IAAI,UAAU,eAAe,CAAC,KAAK,EAAE,CACrH,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE;YAClD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,uBAAuB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5D,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC5C,gBAAgB,EAChB,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,uGAAuG;QACvG,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAC5C,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EACjD,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,uBAAuB,CACxB,CAAC;QAEF,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE,mBAAmB;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;SACH,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa,CACnB,aAAyD,EACzD,YAE+C,EAC/C,OAA6C,EAC7C,OAAsB,EACtB,WAAwB,EACxB,eAAgC;QAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,aAAa,GAAG,aAAa,CAAC;QAElC,KAAK,SAAS,CAAC,CAAC,mBAAmB;YAGjC,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;wBACxC,yCAAyC;wBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC3B,MAAM,KAAK,CAAC,KAAK,CAAC;wBACpB,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,OAAO;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,WAAW,GAAG,MAAM,WAAW,CACnC,KAAK,EACL,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;oBAEF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wBAC7B,sEAAsE;wBACtE,4FAA4F;wBAC5F,eAAe,CAAC,KAAK,EAAE,CAAC;wBACxB,MAAM,WAAW,CAAC,KAAK,CAAC;oBAC1B,CAAC;oBAED,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAwB;YACzD,KAAK,CAAC,IAAI,CAAC,UAAU;gBACnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC3C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,KAAK,CAAC,MAAM;gBACV,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;SACF,CAAC,CAAC;QACH,OAAO,QAAsD,CAAC;IAChE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC/B,KAAc,EACd,OAA6C,EAC7C,OAAsB,EACtB,WAAwB;QAKxB,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAC3C,KAAK,EACL,OAAO,EACP,OAAO,CAAC,WAAW,CACpB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,QAAQ,CAAC,MAAM,EAAE,EACxD;gBACE,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACxD;aACF,CACF,CAAC;YAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEjC,OAAO;gBACL,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,IAAI,CAAC,cAAc,CACxB,KAAK,EACL,QAAQ,CAAC,MAAM,IAAI,SAAS,EAC5B,OAAO,CACR;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,OAAO,EACP,KAAK,EACL,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;QAEF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;YACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAC3I,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YAEF,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC7B,OAAO,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8BAA8B,QAAQ,CAAC,OAAO,eAAe,OAAO,CAAC,OAAO,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClJ,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC/C,OAAO,EACP,OAAO,EACP,WAAW,CACZ,CAAC;QAEF,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,OAA6C,EAC7C,OAAsB,EACtB,WAAwB;QAExB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAC3C,KAAK,EACL,OAAO,EACP,OAAO,CAAC,WAAW,CACpB,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sDAAsD,QAAQ,CAAC,MAAM,EAAE,EACvE;wBACE,KAAK,EAAE;4BACL,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;4BACrD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;yBACxD;qBACF,CACF,CAAC;oBAEF,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAE3D,MAAM,IAAI,CAAC,cAAc,CACvB,KAAK,EACL,QAAQ,CAAC,MAAM,IAAI,SAAS,EAC5B,OAAO,CACR,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,OAAO,EACP,KAAK,EACL,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;gBAEF,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACzB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;oBAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAC5I,CAAC;oBAEF,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,UAAU,EACV,WAAW,EACX,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC7B,OAAO,CACR,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mCAAmC,QAAQ,CAAC,OAAO,eAAe,OAAO,CAAC,OAAO,GAAG,CACrF,CAAC;gBAEF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,sDAAsD;IAC9C,cAAc,CACpB,KAAc,EACd,MAAc,EACd,OAAsB;QAEtB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,IAAI,qBAAqB,CAC9B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,YAAY,EAAE,EACtB,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YAC/B,OAAO,EACL,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC;gBAC5C,CAAC,CAAC,uBAAuB;YAC7B,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,KAAK;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA6C,EAC7C,OAAsB;QAEtB,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,OAAO,CAAC,OAAO,kBAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI,UAAU,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CACnH,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9B,GAAG,eAAe;YAClB,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC1B,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;gBACjE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,YAAY,EACZ;oBACE,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,WAAW,EAAE,YAAY,CAAC,WAAW;iBACtC,EACD,OAAO,CACR,CAAC;gBACF,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC3B,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,eAAe,EACf,IAEI,EACJ,OAAO,CACR,CAAC;gBACF,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC9B,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;gBACjE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CACvB,eAAe,EACf,WAEI,EACJ,OAAO,CACR,CAAC;gBACF,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,OAA6C,EAC7C,QAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO;YACL,GAAG,OAAO;YACV,eAAe,EAAE;gBACf,GAAG,OAAO,CAAC,eAAe;gBAC1B,OAAO,EAAE;oBACP,GAAG,CAAE,OAAO,CAAC,eAAe,EAAE,OAAmC;wBAC/D,EAAE,CAAC;oBACL,aAAa,EAAE,QAAQ,CAAC,IAAI;oBAC5B,SAAS,EAAE,QAAQ,CAAC,KAAK;iBAC1B;aACF;SACF,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAI,KAA0B,CAAC,IAAI,CAAC;YACnD,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,WAAW,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,EAAU,EAAE,WAAyB;QACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAE1C,WAAW,EAAE,gBAAgB,CAC3B,OAAO,EACP,GAAG,EAAE;gBACH,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -39,6 +39,7 @@ export declare class RetryEngine {
39
39
  private readonly fallbackChain;
40
40
  private fallbackIndex;
41
41
  constructor(config: StreamConfig);
42
+ private getMaxAttemptsForProvider;
42
43
  getRetryDecision(error: unknown, session: StreamSession, abortSignal?: AbortSignal): RetryDecision;
43
44
  getInitialProvider(): ProviderInfo;
44
45
  resetFallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"retry-engine.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EACH,eAAe,GACf,cAAc,GACd,UAAU,GACV,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY;IAKhC,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,WAAW,GACxB,aAAa;IAsDhB,kBAAkB,IAAI,YAAY;IAWlC,aAAa,IAAI,IAAI;IAIrB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAOpC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAcvB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;CA8B3B"}
1
+ {"version":3,"file":"retry-engine.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,MAAM,CAAC,EACH,eAAe,GACf,cAAc,GACd,UAAU,GACV,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY;IAKhC,OAAO,CAAC,yBAAyB;IAkBjC,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,WAAW,GACxB,aAAa;IA8DhB,kBAAkB,IAAI,YAAY;IAWlC,aAAa,IAAI,IAAI;IAIrB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAOpC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAcvB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;CA8B3B"}
@@ -31,6 +31,20 @@ export class RetryEngine {
31
31
  this.config = config;
32
32
  this.fallbackChain = this.buildFallbackChain();
33
33
  }
34
+ getMaxAttemptsForProvider(provider) {
35
+ if (!this.config.fallback.enabled) {
36
+ return this.config.retry.maxAttempts;
37
+ }
38
+ const { maxAttemptsPerProvider } = this.config.retry;
39
+ if (typeof maxAttemptsPerProvider === "number") {
40
+ return maxAttemptsPerProvider;
41
+ }
42
+ const attemptsForProvider = maxAttemptsPerProvider[provider.name];
43
+ if (typeof attemptsForProvider === "number") {
44
+ return attemptsForProvider;
45
+ }
46
+ return attemptsForProvider[provider.model] ?? 2;
47
+ }
34
48
  getRetryDecision(error, session, abortSignal) {
35
49
  if (abortSignal?.aborted) {
36
50
  return { shouldRetry: false, delayMs: 0, reason: "aborted" };
@@ -66,9 +80,14 @@ export class RetryEngine {
66
80
  // each provider gets maxAttempts tries before we move to the next one.
67
81
  const { maxAttempts } = this.config.retry;
68
82
  if (session.attempt >= maxAttempts) {
83
+ // fallback chain exhausted, we're out of options
84
+ return { shouldRetry: false, delayMs: 0, reason: "max-attempts" };
85
+ }
86
+ if (session.providerAttempt >=
87
+ this.getMaxAttemptsForProvider(session.provider)) {
69
88
  const newProvider = this.advanceFallback(error);
70
89
  if (newProvider) {
71
- session.resetAttempts();
90
+ session.resetProviderAttempts();
72
91
  const delayMs = this.calculateDelay(session.attempt);
73
92
  return { shouldRetry: true, delayMs, newProvider };
74
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry-engine.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-engine.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/retry-engine.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import type { ProviderInfo, StreamMetrics, SessionOutcome } from "./types.js";
14
14
  *
15
15
  * @example
16
16
  * ```typescript
17
- * const session = new StreamSession(config, initialProvider);
17
+ * const session = new StreamSession({ config, initialProvider });
18
18
  *
19
19
  * // Record activity
20
20
  * session.recordChunk();
@@ -24,18 +24,29 @@ import type { ProviderInfo, StreamMetrics, SessionOutcome } from "./types.js";
24
24
  * session.finalize("complete");
25
25
  * ```
26
26
  */
27
+ export interface StreamSessionOptions {
28
+ config: StreamConfig;
29
+ initialProvider: ProviderInfo;
30
+ organizationId?: string;
31
+ applicationId?: string;
32
+ getJwt?: () => string | undefined;
33
+ }
27
34
  export declare class StreamSession {
28
35
  readonly id: string;
29
36
  readonly startTime: number;
30
37
  readonly events: StreamEventBus;
31
38
  readonly config: StreamConfig;
39
+ readonly organizationId?: string;
40
+ readonly applicationId?: string;
41
+ readonly getJwt?: () => string | undefined;
32
42
  attempt: number;
43
+ providerAttempt: number;
33
44
  provider: ProviderInfo;
34
45
  metrics: StreamMetrics;
35
46
  error: unknown;
36
47
  outcome: SessionOutcome;
37
48
  private lastActivityTime;
38
- constructor(config: StreamConfig, initialProvider: ProviderInfo);
49
+ constructor(options: StreamSessionOptions);
39
50
  /**
40
51
  * Finalize the session with an outcome.
41
52
  *
@@ -48,6 +59,7 @@ export declare class StreamSession {
48
59
  finalize(outcome: Exclude<SessionOutcome, "pending">, error?: unknown): void;
49
60
  recordRetry(delayMs: number): void;
50
61
  resetAttempts(): void;
62
+ resetProviderAttempts(): void;
51
63
  recordChunk(): void;
52
64
  setTotalTokens(tokens: number): void;
53
65
  isPending(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,OAAO,SAAK;IACZ,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAOpB;IACF,KAAK,EAAE,OAAO,CAAQ;IACtB,OAAO,EAAE,cAAc,CAAa;IAGpC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY;IAS/D;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAsB5E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASlC,aAAa,IAAI,IAAI;IAIrB,WAAW,IAAI,IAAI;IAQnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAMtB,wBAAwB,IAAI,MAAM;IAIlC,kBAAkB,IAAI,IAAI;CAG3B"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,YAAY,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAE3C,OAAO,SAAK;IACZ,eAAe,SAAK;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAOpB;IACF,KAAK,EAAE,OAAO,CAAQ;IACtB,OAAO,EAAE,cAAc,CAAa;IAGpC,OAAO,CAAC,gBAAgB,CAAS;gBAErB,OAAO,EAAE,oBAAoB;IAYzC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAsB5E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQlC,aAAa,IAAI,IAAI;IAKrB,qBAAqB,IAAI,IAAI;IAI7B,WAAW,IAAI,IAAI;IAQnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,IAAI,OAAO;IAIpB,YAAY,IAAI,MAAM;IAMtB,wBAAwB,IAAI,MAAM;IAIlC,kBAAkB,IAAI,IAAI;CAG3B"}
@@ -1,33 +1,14 @@
1
1
  import { StreamEventBus } from "./event-bus.js";
2
- /**
3
- * State container for a single stream operation.
4
- *
5
- * Contains all mutable state for the session:
6
- * - Current attempt number
7
- * - Current provider info
8
- * - Metrics (chunks, tokens, retries, duration)
9
- * - Error and outcome status
10
- *
11
- * The session also owns the event bus for this operation.
12
- *
13
- * @example
14
- * ```typescript
15
- * const session = new StreamSession(config, initialProvider);
16
- *
17
- * // Record activity
18
- * session.recordChunk();
19
- * session.recordRetry(500);
20
- *
21
- * // Finalize when done
22
- * session.finalize("complete");
23
- * ```
24
- */
25
2
  export class StreamSession {
26
3
  id;
27
4
  startTime;
28
5
  events;
29
6
  config;
7
+ organizationId;
8
+ applicationId;
9
+ getJwt;
30
10
  attempt = 1;
11
+ providerAttempt = 1;
31
12
  provider;
32
13
  metrics = {
33
14
  chunkCount: 0,
@@ -41,12 +22,15 @@ export class StreamSession {
41
22
  outcome = "pending";
42
23
  // tracks when we last received a chunk or started a retry, used for max-time checks.
43
24
  lastActivityTime;
44
- constructor(config, initialProvider) {
25
+ constructor(options) {
45
26
  this.id = crypto.randomUUID();
46
27
  this.startTime = Date.now();
47
28
  this.lastActivityTime = this.startTime;
48
- this.config = config;
49
- this.provider = initialProvider;
29
+ this.config = options.config;
30
+ this.provider = options.initialProvider;
31
+ this.organizationId = options.organizationId;
32
+ this.applicationId = options.applicationId;
33
+ this.getJwt = options.getJwt;
50
34
  this.events = new StreamEventBus();
51
35
  }
52
36
  /**
@@ -79,14 +63,17 @@ export class StreamSession {
79
63
  }
80
64
  recordRetry(delayMs) {
81
65
  this.attempt++;
66
+ this.providerAttempt++;
82
67
  this.metrics.retryCount++;
83
68
  this.metrics.totalRetryDelayMs += delayMs;
84
69
  this.lastActivityTime = Date.now();
85
70
  }
86
- // called when falling back to a new provider, each provider gets fresh attempts.
87
- // if we do not reset, we burn through all providers in one go.
88
71
  resetAttempts() {
89
72
  this.attempt = 0;
73
+ this.providerAttempt = 0;
74
+ }
75
+ resetProviderAttempts() {
76
+ this.providerAttempt = 0;
90
77
  }
91
78
  recordChunk() {
92
79
  if (this.metrics.chunkCount === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/stream/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * LLMObs-to-OTEL span exporter.
3
+ *
4
+ * Intercepts LLMObs spans at the writer level and converts them to OTEL spans
5
+ * for export via OTEL collector. Used in CLOUD_PREM deployments where direct
6
+ * Datadog API access is not available.
7
+ *
8
+ * This uses the SpanInterceptor pattern from test-utils/span-interceptor.ts:
9
+ * - Patches LLMObsSpanWriter.prototype.flush to capture span events
10
+ * - Converts span events to OTEL spans with llmobs.* attributes
11
+ * - Drops original spans to prevent Datadog LLMObs API submission
12
+ */
13
+ /**
14
+ * Converts LLMObs spans to OTEL spans for CLOUD_PREM deployments.
15
+ *
16
+ * When initialized, patches LLMObsSpanWriter.flush to:
17
+ * 1. Intercept all buffered span events
18
+ * 2. Convert each to an OTEL span with llmobs.* attributes
19
+ * 3. Drop original spans (prevent Datadog LLMObs API submission)
20
+ */
21
+ declare class LLMObsOtelExporter {
22
+ private originalFlush;
23
+ /**
24
+ * Get the OTEL tracer lazily to ensure it's fetched after NodeSDK is started.
25
+ * If fetched at module load time, it can return a no-op tracer.
26
+ */
27
+ private get otelTracer();
28
+ /**
29
+ * Initialize the exporter by patching LLMObsSpanWriter.flush.
30
+ * Safe to call multiple times - subsequent calls are no-ops.
31
+ */
32
+ init(): Promise<void>;
33
+ /**
34
+ * Convert an LLMObs span event to an OTEL span.
35
+ *
36
+ * The span is created with:
37
+ * - Correct timing (start time and duration from original span)
38
+ * - All LLMObs data as llmobs.* attributes
39
+ * - Model info, input/output, metadata, and metrics preserved
40
+ */
41
+ private convertToOtelSpan;
42
+ /**
43
+ * Filter out undefined values from attributes object.
44
+ */
45
+ private filterUndefined;
46
+ /**
47
+ * Restore the original LLMObsSpanWriter.flush method.
48
+ * Used for cleanup/testing.
49
+ */
50
+ restore(): void;
51
+ }
52
+ /**
53
+ * Singleton instance of the LLMObs-to-OTEL exporter.
54
+ * Call llmobsOtelExporter.init() in CLOUD_PREM mode to enable.
55
+ */
56
+ export declare const llmobsOtelExporter: LLMObsOtelExporter;
57
+ export {};
58
+ //# sourceMappingURL=otel-exporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-exporter.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/otel-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuDH;;;;;;;GAOG;AACH,cAAM,kBAAkB;IACtB,OAAO,CAAC,aAAa,CAA+C;IAEpE;;;OAGG;IACH,OAAO,KAAK,UAAU,GAErB;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsClC;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAgFzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;IACI,OAAO,IAAI,IAAI;CAOvB;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * LLMObs-to-OTEL span exporter.
3
+ *
4
+ * Intercepts LLMObs spans at the writer level and converts them to OTEL spans
5
+ * for export via OTEL collector. Used in CLOUD_PREM deployments where direct
6
+ * Datadog API access is not available.
7
+ *
8
+ * This uses the SpanInterceptor pattern from test-utils/span-interceptor.ts:
9
+ * - Patches LLMObsSpanWriter.prototype.flush to capture span events
10
+ * - Converts span events to OTEL spans with llmobs.* attributes
11
+ * - Drops original spans to prevent Datadog LLMObs API submission
12
+ */
13
+ import { SpanKind, trace } from "@opentelemetry/api";
14
+ import { getLogger } from "../../util/logger.js";
15
+ import { safeJsonStringify } from "../util/safe-stringify.js";
16
+ /**
17
+ * Lazily loaded LLMObsSpanWriter from dd-trace internals.
18
+ * Must be loaded after dd-trace is initialized to avoid accessing
19
+ * uninitialized internal state (e.g., _prioritySampler.sample).
20
+ */
21
+ let LLMObsSpanWriter = null;
22
+ async function loadLLMObsSpanWriter() {
23
+ if (!LLMObsSpanWriter) {
24
+ const module = await import("dd-trace/packages/dd-trace/src/llmobs/writers/spans.js");
25
+ LLMObsSpanWriter = module.default;
26
+ }
27
+ return LLMObsSpanWriter;
28
+ }
29
+ /**
30
+ * Maximum length for input/output JSON strings.
31
+ * Prevents excessively large span attributes.
32
+ */
33
+ const MAX_IO_LENGTH = 10000;
34
+ /**
35
+ * Converts LLMObs spans to OTEL spans for CLOUD_PREM deployments.
36
+ *
37
+ * When initialized, patches LLMObsSpanWriter.flush to:
38
+ * 1. Intercept all buffered span events
39
+ * 2. Convert each to an OTEL span with llmobs.* attributes
40
+ * 3. Drop original spans (prevent Datadog LLMObs API submission)
41
+ */
42
+ class LLMObsOtelExporter {
43
+ originalFlush = null;
44
+ /**
45
+ * Get the OTEL tracer lazily to ensure it's fetched after NodeSDK is started.
46
+ * If fetched at module load time, it can return a no-op tracer.
47
+ */
48
+ get otelTracer() {
49
+ return trace.getTracer("llmobs", "1.0.0");
50
+ }
51
+ /**
52
+ * Initialize the exporter by patching LLMObsSpanWriter.flush.
53
+ * Safe to call multiple times - subsequent calls are no-ops.
54
+ */
55
+ async init() {
56
+ if (this.originalFlush) {
57
+ getLogger().debug("LLMObsOtelExporter: Already initialized");
58
+ return;
59
+ }
60
+ getLogger().debug("LLMObsOtelExporter: Patching LLMObsSpanWriter.flush");
61
+ const SpanWriter = await loadLLMObsSpanWriter();
62
+ this.originalFlush = SpanWriter.prototype.flush;
63
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
64
+ const self = this;
65
+ SpanWriter.prototype.flush = function () {
66
+ if (this._buffer.length > 0) {
67
+ getLogger().debug(`LLMObsOtelExporter: Converting ${this._buffer.length} spans to OTEL`);
68
+ for (const spanEvent of this._buffer) {
69
+ self.convertToOtelSpan(spanEvent);
70
+ }
71
+ }
72
+ // Clear buffer - don't send to Datadog
73
+ this._buffer = [];
74
+ this._bufferSize = 0;
75
+ getLogger().debug("LLMObsOtelExporter: Spans converted to OTEL, dropped from Datadog export");
76
+ };
77
+ getLogger().info("LLMObsOtelExporter: Successfully initialized for CLOUD_PREM mode");
78
+ }
79
+ /**
80
+ * Convert an LLMObs span event to an OTEL span.
81
+ *
82
+ * The span is created with:
83
+ * - Correct timing (start time and duration from original span)
84
+ * - All LLMObs data as llmobs.* attributes
85
+ * - Model info, input/output, metadata, and metrics preserved
86
+ */
87
+ convertToOtelSpan(event) {
88
+ const spanKind = event.meta["span.kind"] || "unknown";
89
+ const otelKind = spanKind === "llm" ? SpanKind.CLIENT : SpanKind.INTERNAL;
90
+ // Convert nanoseconds to milliseconds for OTEL
91
+ const startTimeMs = event.start_ns / 1e6;
92
+ const endTimeMs = startTimeMs + event.duration / 1e6;
93
+ const attributes = {
94
+ "llmobs.trace_id": event.trace_id,
95
+ "llmobs.span_id": event.span_id,
96
+ "llmobs.parent_id": event.parent_id,
97
+ "llmobs.span_kind": spanKind,
98
+ "llmobs.status": event.status,
99
+ "llmobs.session_id": event.session_id,
100
+ // Model info
101
+ "llmobs.model_name": event.meta.model_name,
102
+ "llmobs.model_provider": event.meta.model_provider,
103
+ };
104
+ // Input/output as JSON (truncated to prevent huge attributes)
105
+ // Using safeJsonStringify to handle circular references and broken toJSON methods
106
+ if (event.meta.input !== undefined) {
107
+ const inputJson = safeJsonStringify(event.meta.input);
108
+ attributes["llmobs.input"] =
109
+ inputJson.length > MAX_IO_LENGTH
110
+ ? inputJson.slice(0, MAX_IO_LENGTH) + "..."
111
+ : inputJson;
112
+ }
113
+ if (event.meta.output !== undefined) {
114
+ const outputJson = safeJsonStringify(event.meta.output);
115
+ attributes["llmobs.output"] =
116
+ outputJson.length > MAX_IO_LENGTH
117
+ ? outputJson.slice(0, MAX_IO_LENGTH) + "..."
118
+ : outputJson;
119
+ }
120
+ // Metadata as JSON
121
+ if (event.meta.metadata) {
122
+ attributes["llmobs.metadata"] = safeJsonStringify(event.meta.metadata);
123
+ }
124
+ // Create the OTEL span
125
+ const otelSpan = this.otelTracer.startSpan(event.name, {
126
+ kind: otelKind,
127
+ startTime: startTimeMs,
128
+ attributes: this.filterUndefined(attributes),
129
+ });
130
+ // Add metrics as attributes
131
+ if (event.metrics) {
132
+ for (const [key, value] of Object.entries(event.metrics)) {
133
+ otelSpan.setAttribute(`llmobs.metrics.${key}`, value);
134
+ }
135
+ }
136
+ // Add tags as attributes
137
+ for (const tag of event.tags) {
138
+ const colonIndex = tag.indexOf(":");
139
+ if (colonIndex !== -1) {
140
+ const key = tag.slice(0, colonIndex);
141
+ const value = tag.slice(colonIndex + 1);
142
+ otelSpan.setAttribute(`llmobs.tag.${key}`, value);
143
+ }
144
+ }
145
+ // Set error status if needed
146
+ if (event.status === "error") {
147
+ otelSpan.setAttribute("error", true);
148
+ }
149
+ // End span with correct end time
150
+ otelSpan.end(endTimeMs);
151
+ getLogger().debug(`LLMObsOtelExporter: Converted span ${event.name} (${spanKind})`);
152
+ }
153
+ /**
154
+ * Filter out undefined values from attributes object.
155
+ */
156
+ filterUndefined(attrs) {
157
+ const result = {};
158
+ for (const [key, value] of Object.entries(attrs)) {
159
+ if (value !== undefined) {
160
+ result[key] = value;
161
+ }
162
+ }
163
+ return result;
164
+ }
165
+ /**
166
+ * Restore the original LLMObsSpanWriter.flush method.
167
+ * Used for cleanup/testing.
168
+ */
169
+ restore() {
170
+ if (this.originalFlush && LLMObsSpanWriter) {
171
+ LLMObsSpanWriter.prototype.flush = this.originalFlush;
172
+ this.originalFlush = null;
173
+ getLogger().debug("LLMObsOtelExporter: Restored original flush method");
174
+ }
175
+ }
176
+ }
177
+ /**
178
+ * Singleton instance of the LLMObs-to-OTEL exporter.
179
+ * Call llmobsOtelExporter.init() in CLOUD_PREM mode to enable.
180
+ */
181
+ export const llmobsOtelExporter = new LLMObsOtelExporter();
182
+ //# sourceMappingURL=otel-exporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-exporter.js","sourceRoot":"","sources":["../../../src/ai-service/llmobs/otel-exporter.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export declare class LLMObsTracer {
9
9
  private globalState;
10
10
  private localStorage;
11
11
  private globalTags;
12
- private unregisterLogListener?;
13
12
  private defaultRootPolicy;
14
13
  private static _instance;
15
14
  rootSpan?: LLMObsSpan;
@@ -49,8 +48,6 @@ export declare class LLMObsTracer {
49
48
  */
50
49
  annotate(annotations: LLMObsAnnotationOptions): void;
51
50
  annotate(span: LLMObsSpan, annotations: LLMObsAnnotationOptions): void;
52
- /** Remove registered listeners primarily for test teardown. */
53
- dispose(): void;
54
51
  /** Submit feedback or evaluation metrics for a completed span. */
55
52
  submitEvaluation(spanContext: ExportedLLMObsSpan, option: LLMObsEvaluationOptions): void;
56
53
  /**
@@ -72,8 +69,6 @@ export declare class LLMObsTracer {
72
69
  * and apply global tags so nested spans maintain proper hierarchy.
73
70
  */
74
71
  private register;
75
- private handleLogEntry;
76
- private static formatLogEntry;
77
72
  /**
78
73
  * Shared tracing implementation used by both auto-finishing and manual spans.
79
74
  * Handles stack setup, parent alignment, and execution of the caller callback.
@@ -84,7 +79,16 @@ export declare class LLMObsTracer {
84
79
  private activate;
85
80
  private get localState();
86
81
  private static _llmobs;
82
+ private static _otelExporterInitialized;
83
+ private static _isCloudPremCached;
87
84
  private get llmobs();
85
+ /**
86
+ * Check if current deployment is CLOUD_PREM.
87
+ * In CLOUD_PREM, LLMObs spans are converted to OTEL spans instead of
88
+ * being sent directly to Datadog LLMObs API.
89
+ * Result is cached since deployment type is constant for process lifetime.
90
+ */
91
+ private static isCloudPrem;
88
92
  private setModel;
89
93
  private setTag;
90
94
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/tracer.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAElB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EAEX,MAAM,YAAY,CAAC;AAkCpB;;;;;GAKG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAErD,QAAQ,CAAC,EAAE,UAAU,CAAC;IAE7B,SAAS,aAAa,EACpB,iBAA2B,GAC5B,GAAE;QACD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;KACjC;IASN,WAAkB,QAAQ,IAAI,YAAY,CAEzC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,MAAM,EAAE,gBAAgB;IAIpD;;;OAGG;IACI,KAAK,CAAC,CAAC,EACZ,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,GAC1B,CAAC;IAIJ;;;OAGG;IACI,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3C,OAAO,EAAE,yBAAyB,EAClC,EAAE,EAAE,CAAC,GACJ,CAAC;IAQG,eAAe,CAAC,OAAO,EAAE,uBAAuB,GAAG,UAAU;IAQpE;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,kBAAkB;IAgBxD;;;OAGG;IACI,QAAQ,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAoC7E,+DAA+D;IACxD,OAAO,IAAI,IAAI;IAKtB,kEAAkE;IAC3D,gBAAgB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,uBAAuB,GAC9B,IAAI;IAIP;;;OAGG;IACI,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC/C,OAAO,EAAE,yBAAyB,GACjC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IAMnB,wEAAwE;IACjE,MAAM,IAAI,UAAU,GAAG,SAAS;IAIvC;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAIjD;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAiChB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,MAAM,CAAC,cAAc;IAgB7B;;;OAGG;IACH,OAAO,CAAC,MAAM;IA4Dd,OAAO,CAAC,MAAM,CAAC,cAAc;IAkB7B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;IAahB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,CACoB;IAC1C,OAAO,KAAK,MAAM,GAOjB;IAED,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,MAAM;IAQd;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkCpC,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsC1C;AA6CD,eAAO,MAAM,MAAM,cAAwB,CAAC;AAC5C,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../src/ai-service/llmobs/tracer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAElB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EAEX,MAAM,YAAY,CAAC;AAkCpB;;;;;GAKG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoC;IAErD,QAAQ,CAAC,EAAE,UAAU,CAAC;IAE7B,SAAS,aAAa,EACpB,iBAA2B,GAC5B,GAAE;QACD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;KACjC;IAMN,WAAkB,QAAQ,IAAI,YAAY,CAEzC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,MAAM,EAAE,gBAAgB;IAIpD;;;OAGG;IACI,KAAK,CAAC,CAAC,EACZ,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,GAC1B,CAAC;IAIJ;;;OAGG;IACI,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3C,OAAO,EAAE,yBAAyB,EAClC,EAAE,EAAE,CAAC,GACJ,CAAC;IAQG,eAAe,CAAC,OAAO,EAAE,uBAAuB,GAAG,UAAU;IAQpE;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,kBAAkB;IAgBxD;;;OAGG;IACI,QAAQ,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAoC7E,kEAAkE;IAC3D,gBAAgB,CACrB,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,uBAAuB,GAC9B,IAAI;IAIP;;;OAGG;IACI,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC/C,OAAO,EAAE,yBAAyB,GACjC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IAMnB,wEAAwE;IACjE,MAAM,IAAI,UAAU,GAAG,SAAS;IAIvC;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAIjD;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAiChB;;;OAGG;IACH,OAAO,CAAC,MAAM;IA4Dd,OAAO,CAAC,MAAM,CAAC,cAAc;IAkB7B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;IAahB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsC;IAC5D,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAS;IAChD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAwB;IAEzD,OAAO,KAAK,MAAM,GA6BjB;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAqB1B,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,MAAM;IAQd;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkCpC,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAsC1C;AAsCD,eAAO,MAAM,MAAM,cAAwB,CAAC;AAC5C,eAAe,MAAM,CAAC"}