@superblocksteam/vite-plugin-file-sync 2.0.41-next.5 → 2.0.41-next.50

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 (273) hide show
  1. package/dist/ai-service/agent/apis-system-prompt.d.ts +1 -1
  2. package/dist/ai-service/agent/apis-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/apis-system-prompt.js +50 -21
  4. package/dist/ai-service/agent/apis-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/apis.d.ts +10 -0
  6. package/dist/ai-service/agent/apis.d.ts.map +1 -1
  7. package/dist/ai-service/agent/apis.js +25 -3
  8. package/dist/ai-service/agent/apis.js.map +1 -1
  9. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.js +5 -2
  11. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  12. package/dist/ai-service/agent/tools/build-debug.d.ts +1 -1
  13. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/build-debug.js +24 -23
  15. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/build-edit-file.js +7 -12
  18. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/build-finalize.js +23 -2
  21. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  22. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tools/build-multi-edit-file.js +4 -9
  24. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  25. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +27 -0
  26. package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -0
  27. package/dist/ai-service/agent/tools/build-set-api-triggers.js +265 -0
  28. package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -0
  29. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/build-write-file.js +4 -9
  31. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  32. package/dist/ai-service/agent/tools/debug-cache.d.ts +95 -13
  33. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools/debug-cache.js +215 -38
  35. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  36. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  37. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools/index.js +1 -0
  39. package/dist/ai-service/agent/tools/index.js.map +1 -1
  40. package/dist/ai-service/agent/tools.d.ts +22 -1
  41. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  42. package/dist/ai-service/agent/tools.js +3 -1
  43. package/dist/ai-service/agent/tools.js.map +1 -1
  44. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  45. package/dist/ai-service/agent/utils.js +170 -159
  46. package/dist/ai-service/agent/utils.js.map +1 -1
  47. package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
  48. package/dist/ai-service/app-interface/file-system-interface.js +117 -68
  49. package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
  50. package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
  51. package/dist/ai-service/app-interface/linter.js +103 -54
  52. package/dist/ai-service/app-interface/linter.js.map +1 -1
  53. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  54. package/dist/ai-service/app-interface/shell.js +227 -160
  55. package/dist/ai-service/app-interface/shell.js.map +1 -1
  56. package/dist/ai-service/artifacts/bolt.d.ts.map +1 -1
  57. package/dist/ai-service/artifacts/bolt.js +88 -30
  58. package/dist/ai-service/artifacts/bolt.js.map +1 -1
  59. package/dist/ai-service/chat/chat-session-store.d.ts +12 -2
  60. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  61. package/dist/ai-service/chat/chat-session-store.js +45 -1
  62. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  63. package/dist/ai-service/chat/extract-history.d.ts +3 -1
  64. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  65. package/dist/ai-service/chat/extract-history.js +6 -1
  66. package/dist/ai-service/chat/extract-history.js.map +1 -1
  67. package/dist/ai-service/context/app-context.d.ts.map +1 -1
  68. package/dist/ai-service/context/app-context.js +305 -241
  69. package/dist/ai-service/context/app-context.js.map +1 -1
  70. package/dist/ai-service/evals/content-matchers/index.d.ts.map +1 -1
  71. package/dist/ai-service/evals/content-matchers/index.js +1 -0
  72. package/dist/ai-service/evals/content-matchers/index.js.map +1 -1
  73. package/dist/ai-service/index.d.ts +3 -0
  74. package/dist/ai-service/index.d.ts.map +1 -1
  75. package/dist/ai-service/index.js +105 -71
  76. package/dist/ai-service/index.js.map +1 -1
  77. package/dist/ai-service/integration-validator.d.ts +1 -1
  78. package/dist/ai-service/integration-validator.d.ts.map +1 -1
  79. package/dist/ai-service/integration-validator.js +6 -3
  80. package/dist/ai-service/integration-validator.js.map +1 -1
  81. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  82. package/dist/ai-service/integrations/metadata/database.js +1 -1
  83. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  84. package/dist/ai-service/integrations/metadata/graphql-based.js +1 -1
  85. package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
  86. package/dist/ai-service/integrations/metadata/open-api.js +1 -1
  87. package/dist/ai-service/integrations/metadata/open-api.js.map +1 -1
  88. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  89. package/dist/ai-service/integrations/store.js +135 -74
  90. package/dist/ai-service/integrations/store.js.map +1 -1
  91. package/dist/ai-service/llmobs/helpers.d.ts +20 -0
  92. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -0
  93. package/dist/ai-service/llmobs/helpers.js +130 -0
  94. package/dist/ai-service/llmobs/helpers.js.map +1 -0
  95. package/dist/ai-service/llmobs/index.d.ts +8 -0
  96. package/dist/ai-service/llmobs/index.d.ts.map +1 -0
  97. package/dist/ai-service/llmobs/index.js +7 -0
  98. package/dist/ai-service/llmobs/index.js.map +1 -0
  99. package/dist/ai-service/llmobs/middleware/stream-text.d.ts +60 -0
  100. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -0
  101. package/dist/ai-service/llmobs/middleware/stream-text.js +601 -0
  102. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -0
  103. package/dist/ai-service/llmobs/tracer.d.ts +95 -0
  104. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -0
  105. package/dist/ai-service/llmobs/tracer.js +341 -0
  106. package/dist/ai-service/llmobs/tracer.js.map +1 -0
  107. package/dist/ai-service/llmobs/types.d.ts +47 -0
  108. package/dist/ai-service/llmobs/types.d.ts.map +1 -0
  109. package/dist/ai-service/llmobs/types.js +2 -0
  110. package/dist/ai-service/llmobs/types.js.map +1 -0
  111. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts +3 -1
  112. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.d.ts.map +1 -1
  113. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js +5 -3
  114. package/dist/ai-service/prompt-builder-service/fragment-generators/chakra-tokens.js.map +1 -1
  115. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts +3 -1
  116. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.d.ts.map +1 -1
  117. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js +3 -1
  118. package/dist/ai-service/prompt-builder-service/fragment-generators/file-fragments.js.map +1 -1
  119. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  120. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  121. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  122. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  123. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  124. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  125. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  126. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  127. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  128. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  129. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  130. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  131. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  132. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  133. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  134. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  135. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  136. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  137. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  138. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  139. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  140. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  141. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  142. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  143. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  144. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  145. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  146. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  147. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  148. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  149. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  150. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  151. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  152. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  153. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  154. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts +3 -1
  155. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.d.ts.map +1 -1
  156. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js +4 -2
  157. package/dist/ai-service/prompt-builder-service/utils/integrations/to-sdk-prompt.js.map +1 -1
  158. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts +3 -1
  159. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.d.ts.map +1 -1
  160. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js +3 -1
  161. package/dist/ai-service/prompt-builder-service/utils/markdown-loader.js.map +1 -1
  162. package/dist/ai-service/state-machine/clark-fsm.d.ts +16 -4
  163. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  164. package/dist/ai-service/state-machine/clark-fsm.js +47 -0
  165. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  166. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  167. package/dist/ai-service/state-machine/handlers/agent-planning.js +6 -6
  168. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  169. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  170. package/dist/ai-service/state-machine/handlers/awaiting-user.js +5 -4
  171. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  172. package/dist/ai-service/state-machine/handlers/idle.js +1 -1
  173. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  174. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  175. package/dist/ai-service/state-machine/handlers/llm-generating.js +274 -266
  176. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  177. package/dist/ai-service/state-machine/handlers/post-processing.js +2 -0
  178. package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -1
  179. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.d.ts.map +1 -1
  180. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js +54 -19
  181. package/dist/ai-service/state-machine/handlers/simple-prompt-builder.js.map +1 -1
  182. package/dist/ai-service/state-machine/traced-fsm.d.ts +41 -70
  183. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  184. package/dist/ai-service/state-machine/traced-fsm.js +66 -173
  185. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  186. package/dist/ai-service/template-renderer.d.ts.map +1 -1
  187. package/dist/ai-service/template-renderer.js +102 -56
  188. package/dist/ai-service/template-renderer.js.map +1 -1
  189. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts +1 -0
  190. package/dist/ai-service/test-utils/dd-trace-helpers.d.ts.map +1 -1
  191. package/dist/ai-service/test-utils/dd-trace-helpers.js.map +1 -1
  192. package/dist/ai-service/test-utils/span-interceptor.d.ts +74 -0
  193. package/dist/ai-service/test-utils/span-interceptor.d.ts.map +1 -0
  194. package/dist/ai-service/test-utils/span-interceptor.js +272 -0
  195. package/dist/ai-service/test-utils/span-interceptor.js.map +1 -0
  196. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +2 -1
  197. package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
  198. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +120 -63
  199. package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
  200. package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
  201. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +97 -47
  202. package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
  203. package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts.map +1 -1
  204. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js +88 -37
  205. package/dist/ai-service/transform/remove-api-builder-imports/transformer.js.map +1 -1
  206. package/dist/ai-service/transform/shared.d.ts +4 -2
  207. package/dist/ai-service/transform/shared.d.ts.map +1 -1
  208. package/dist/ai-service/transform/shared.js +6 -3
  209. package/dist/ai-service/transform/shared.js.map +1 -1
  210. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts.map +1 -1
  211. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js +77 -26
  212. package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js.map +1 -1
  213. package/dist/ai-service/types.d.ts +2 -0
  214. package/dist/ai-service/types.d.ts.map +1 -1
  215. package/dist/ai-service/types.js.map +1 -1
  216. package/dist/ai-service/util/safe-stringify.d.ts +2 -0
  217. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -0
  218. package/dist/ai-service/util/safe-stringify.js +68 -0
  219. package/dist/ai-service/util/safe-stringify.js.map +1 -0
  220. package/dist/binding-extraction/extract-identifiers.d.ts +5 -2
  221. package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
  222. package/dist/binding-extraction/extract-identifiers.js +7 -4
  223. package/dist/binding-extraction/extract-identifiers.js.map +1 -1
  224. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  225. package/dist/file-sync-vite-plugin.js +92 -1
  226. package/dist/file-sync-vite-plugin.js.map +1 -1
  227. package/dist/file-system-helpers.d.ts +3 -0
  228. package/dist/file-system-helpers.d.ts.map +1 -1
  229. package/dist/file-system-helpers.js +12 -0
  230. package/dist/file-system-helpers.js.map +1 -1
  231. package/dist/file-system-manager.d.ts.map +1 -1
  232. package/dist/file-system-manager.js +53 -1
  233. package/dist/file-system-manager.js.map +1 -1
  234. package/dist/parsing/entity/to-value-entity.d.ts.map +1 -1
  235. package/dist/parsing/entity/to-value-entity.js +1 -0
  236. package/dist/parsing/entity/to-value-entity.js.map +1 -1
  237. package/dist/parsing/jsx.d.ts +4 -0
  238. package/dist/parsing/jsx.d.ts.map +1 -1
  239. package/dist/parsing/jsx.js +33 -0
  240. package/dist/parsing/jsx.js.map +1 -1
  241. package/dist/parsing/page.d.ts.map +1 -1
  242. package/dist/parsing/page.js +48 -3
  243. package/dist/parsing/page.js.map +1 -1
  244. package/dist/parsing/properties.d.ts.map +1 -1
  245. package/dist/parsing/properties.js +10 -0
  246. package/dist/parsing/properties.js.map +1 -1
  247. package/dist/routing.d.ts.map +1 -1
  248. package/dist/routing.js +15 -16
  249. package/dist/routing.js.map +1 -1
  250. package/dist/socket-manager.d.ts.map +1 -1
  251. package/dist/socket-manager.js +3 -1
  252. package/dist/socket-manager.js.map +1 -1
  253. package/dist/source-tracker.d.ts +4 -0
  254. package/dist/source-tracker.d.ts.map +1 -1
  255. package/dist/source-tracker.js +132 -5
  256. package/dist/source-tracker.js.map +1 -1
  257. package/dist/sync-service/list-dir.d.ts +1 -1
  258. package/dist/sync-service/list-dir.d.ts.map +1 -1
  259. package/dist/sync-service/list-dir.js +3 -9
  260. package/dist/sync-service/list-dir.js.map +1 -1
  261. package/dist/util/logger.d.ts +9 -0
  262. package/dist/util/logger.d.ts.map +1 -1
  263. package/dist/util/logger.js +64 -7
  264. package/dist/util/logger.js.map +1 -1
  265. package/package.json +9 -7
  266. package/dist/ai-service/llmobs.d.ts +0 -154
  267. package/dist/ai-service/llmobs.d.ts.map +0 -1
  268. package/dist/ai-service/llmobs.js +0 -216
  269. package/dist/ai-service/llmobs.js.map +0 -1
  270. package/dist/ai-service/util/ddog-llmobs.d.ts +0 -20
  271. package/dist/ai-service/util/ddog-llmobs.d.ts.map +0 -1
  272. package/dist/ai-service/util/ddog-llmobs.js +0 -197
  273. package/dist/ai-service/util/ddog-llmobs.js.map +0 -1
@@ -1,216 +0,0 @@
1
- import { AsyncLocalStorage } from "async_hooks";
2
- import ddTrace from "dd-trace";
3
- class IndexedStack {
4
- items = [];
5
- push(item) {
6
- this.items.push(item);
7
- }
8
- top() {
9
- return this.items[this.items.length - 1];
10
- }
11
- remove(item) {
12
- const index = this.items.indexOf(item);
13
- if (index !== -1) {
14
- this.items.splice(index, 1);
15
- return true;
16
- }
17
- return false;
18
- }
19
- length() {
20
- return this.items.length;
21
- }
22
- }
23
- class State extends IndexedStack {
24
- }
25
- /**
26
- * Flexible wrapper around DataDog's LLMObs tracing API.
27
- *
28
- * Provides four ways to create spans:
29
- * - `trace()`: Execute function within auto-closing span
30
- * - `wrap()`: Wrap function with automatic tracing
31
- * - `startActiveSpan()`: Create manually-managed span
32
- * - `decorate()`: Create decorator function for automatic tracing
33
- */
34
- export class LLMObsTracer {
35
- globalState = new State();
36
- localStorage = new AsyncLocalStorage();
37
- globalTags = {};
38
- static _instance = new LLMObsTracer();
39
- constructor() { }
40
- static get instance() {
41
- return LLMObsTracer._instance;
42
- }
43
- /**
44
- * Execute a function within a traced span context
45
- * Automatically closes the span when the function completes
46
- * Supports both synchronous and asynchronous functions
47
- */
48
- trace(options, fn) {
49
- return this._trace({ finish: "auto", ...options }, fn);
50
- }
51
- /**
52
- * Wrap a function with automatic tracing
53
- * The function name is used as the span name if not explicitly provided,
54
- * unless the function is anonymous, in which case options.kind is used
55
- */
56
- wrap(options, fn) {
57
- const name = options.name || fn.name || options.kind;
58
- return ((...args) => {
59
- return this.trace({ ...options, name }, (_span) => fn(...args));
60
- });
61
- }
62
- /**
63
- * Start a new active span that must be manually closed
64
- *
65
- * Activation modes (for manual spans only):
66
- * - activation: "local" (default): Span becomes inactive at end of current scope
67
- * - activation: "global": Span remains active across scopes until finished
68
- *
69
- * @param options Span configuration including name, kind, and activation mode
70
- * @returns A span that must be manually finished
71
- */
72
- startActiveSpan(options) {
73
- const { activation, ...rest } = options;
74
- return this._trace({ finish: "manual", activation, ...rest }, (span) => span);
75
- }
76
- /**
77
- * Export a span for submission to DataDog
78
- * Defaults to the currently active span if none provided
79
- */
80
- exportSpan(span) {
81
- return this.llmobs.exportSpan(span || this.active());
82
- }
83
- annotate(spanOrAnnotations, annotations) {
84
- if (annotations === undefined) {
85
- // First overload: annotate(annotations)
86
- return this.llmobs.annotate(this.active(), spanOrAnnotations);
87
- }
88
- else {
89
- // Second overload: annotate(span, annotations)
90
- return this.llmobs.annotate(spanOrAnnotations, annotations);
91
- }
92
- }
93
- /**
94
- * Submit feedback or evaluation metrics for a completed span
95
- * Use for user feedback (accept/reject) or quality scores
96
- */
97
- submitEvaluation(spanContext, option) {
98
- return this.llmobs.submitEvaluation(spanContext, option);
99
- }
100
- /**
101
- * Create a decorator function for automatic tracing
102
- * Use as a TypeScript decorator or function wrapper
103
- */
104
- decorate(options) {
105
- return (target) => {
106
- return this.wrap(options, target);
107
- };
108
- }
109
- /**
110
- * Get the currently active span
111
- */
112
- active() {
113
- return this.localState?.top() || this.globalState.top();
114
- }
115
- /**
116
- * Add global tags to be included on all spans
117
- * Existing tags with the same key will be overwritten
118
- */
119
- setGlobalTags(tags) {
120
- this.globalTags = { ...this.globalTags, ...tags };
121
- }
122
- /**
123
- * Register a span and set up cleanup
124
- *
125
- * @param span The span to register
126
- * @param activation Whether span becomes inactive at scope end or remains active
127
- */
128
- register(span, activation) {
129
- this.annotate(span, { tags: this.globalTags });
130
- const originalFinish = span.finish.bind(span);
131
- // Override original finish to maintain stack integrity
132
- span.finish = (finishTime) => {
133
- // Always try to remove from both
134
- this.localState?.remove(span);
135
- this.globalState.remove(span);
136
- return originalFinish(finishTime);
137
- };
138
- // Add span to appropriate state containers
139
- const localState = this.localState;
140
- if (localState) {
141
- localState.push(span);
142
- }
143
- if (!localState || activation === "global") {
144
- this.globalState.push(span);
145
- }
146
- }
147
- /**
148
- * Core tracing implementation
149
- *
150
- * Finish modes:
151
- * - finish: "auto": Span finishes automatically at end of scope
152
- * - finish: "manual": Span must be manually finished
153
- *
154
- * Activation modes (for manual spans only):
155
- * - activation: "local": Span becomes inactive at end of scope
156
- * - activation: "global": Span remains active across scopes
157
- *
158
- * @param options Span configuration including finish and activation modes
159
- * @param fn Function to execute within span context
160
- * @returns Result of executing fn within the span context
161
- */
162
- _trace(options, fn) {
163
- const { tags, finish, activation = "local", ...rest } = options;
164
- const setup = (span) => {
165
- this.register(span, activation);
166
- this.annotate(span, { tags });
167
- };
168
- return this.activate(this.active(), () => {
169
- if (finish == "auto") {
170
- return this.llmobs.trace(rest, (span) => {
171
- return this.localStorage.run(new State(), () => {
172
- setup(span);
173
- return fn(span);
174
- });
175
- });
176
- }
177
- else {
178
- return this.llmobs.trace(rest, (span, _done) => {
179
- setup(span);
180
- return fn(span);
181
- });
182
- }
183
- });
184
- }
185
- /**
186
- * Activate a span as the current parent context for DataDog tracing
187
- *
188
- * This is a thin wrapper around DataDog's internal _activate method,
189
- * which establishes the parent-child relationship for spans created
190
- * within the executed function.
191
- *
192
- * @param span The span to set as parent context (null/undefined = no parent)
193
- * @param fn Function to execute with the span as active parent
194
- * @returns Result of executing fn with the span context active
195
- */
196
- activate(span, fn) {
197
- return this.llmobs._activate(span, null, fn);
198
- }
199
- get localState() {
200
- return this.localStorage.getStore();
201
- }
202
- // Lazy initialization to avoid import order sensitivity
203
- static _llmobs = null;
204
- get llmobs() {
205
- if (!LLMObsTracer._llmobs) {
206
- LLMObsTracer._llmobs = ddTrace.llmobs;
207
- }
208
- return LLMObsTracer._llmobs;
209
- }
210
- }
211
- /**
212
- * Default singleton tracer instance
213
- */
214
- const tracer = LLMObsTracer.instance;
215
- export default tracer;
216
- //# sourceMappingURL=llmobs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"llmobs.js","sourceRoot":"","sources":["../../src/ai-service/llmobs.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { streamText, type ToolSet, type StepResult } from "ai";
2
- import tracer, { type Span } from "dd-trace";
3
- type LLMObsNamedSpanOptions = tracer.llmobs.LLMObsNamedSpanOptions;
4
- type LLMObsSpanKind = tracer.llmobs.spanKind;
5
- export declare function traceWorkflow<T>(name: string, operation: (span: any) => Promise<T>, tags?: Record<string, string | boolean>): Promise<T>;
6
- export declare function traceTask<T>(name: string, operation: (span: any) => Promise<T>, tags?: Record<string, string | boolean>): Promise<T>;
7
- export declare function traceLLM<T>(name: string, modelName: string, modelProvider: string, operation: (span: Span) => Promise<T>, tags?: Record<string, string | boolean>): Promise<T>;
8
- export declare const traceToolSet: (toolset: ToolSet) => ToolSet;
9
- export declare function getJwtTraceTags(jwt: string | undefined): Record<string, string>;
10
- export declare function getCommonTraceTags(jwt: string | undefined, applicationId: string, organizationId: string, additionalTags?: Record<string, string | boolean>): Record<string, string | boolean>;
11
- /**
12
- * Builds LLMObsNamedSpanOptions from StepResult for tracing
13
- */
14
- export declare function buildSpanOptions<T extends ToolSet>(kind: LLMObsSpanKind, step: StepResult<T>, modelName?: string, modelProvider?: string): LLMObsNamedSpanOptions;
15
- /**
16
- * Wrapper around streamText that automatically handles tracing for onStepFinish, onFinish, and prepareStep
17
- */
18
- export declare function tracedStreamText<T extends ToolSet>(options: Parameters<typeof streamText<T>>[0]): import("ai").StreamTextResult<T, never>;
19
- export {};
20
- //# sourceMappingURL=ddog-llmobs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ddog-llmobs.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/ddog-llmobs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,UAAU,EAGhB,MAAM,IAAI,CAAC;AACZ,OAAO,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC;AAG7C,KAAK,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;AACnE,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,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,GACtC,OAAO,CAAC,CAAC,CAAC,CAeZ;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,GACtC,OAAO,CAAC,CAAC,CAAC,CAeZ;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACtC,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAGD,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,OAsC/C,CAAC;AAGF,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxB;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;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,sBAAsB,CA6BxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2CAiE7C"}
@@ -1,197 +0,0 @@
1
- import { streamText, } from "ai";
2
- import tracer, {} from "dd-trace";
3
- // Helper function for workflow tracing with common patterns
4
- export function traceWorkflow(name, operation, tags) {
5
- const { llmobs } = tracer;
6
- return llmobs.trace({
7
- kind: "workflow",
8
- name,
9
- }, async (span) => {
10
- if (tags) {
11
- llmobs.annotate({ tags });
12
- }
13
- return operation(span);
14
- });
15
- }
16
- // Helper function for task tracing with common patterns
17
- export function traceTask(name, operation, tags) {
18
- const { llmobs } = tracer;
19
- return llmobs.trace({
20
- kind: "task",
21
- name,
22
- }, async (span) => {
23
- if (tags) {
24
- llmobs.annotate({ tags });
25
- }
26
- return operation(span);
27
- });
28
- }
29
- // Helper function for LLM tracing with common patterns
30
- export function traceLLM(name, modelName, modelProvider, operation, tags) {
31
- const { llmobs } = tracer;
32
- return llmobs.trace({
33
- kind: "llm",
34
- name,
35
- modelName,
36
- modelProvider,
37
- }, async (span) => {
38
- if (tags) {
39
- llmobs.annotate({ tags });
40
- }
41
- return operation(span);
42
- });
43
- }
44
- // Helper function for tool tracing with common patterns
45
- export const traceToolSet = (toolset) => {
46
- const tracedToolset = {};
47
- const { llmobs } = tracer;
48
- for (const [name, tool] of Object.entries(toolset)) {
49
- tracedToolset[name] = {
50
- ...tool,
51
- execute: async (input, options) => {
52
- try {
53
- return await llmobs.trace({
54
- kind: "tool",
55
- name,
56
- }, async () => {
57
- if (!tool.execute) {
58
- throw new Error(`Tool ${name} has no execute method`);
59
- }
60
- const result = await tool.execute(input, options);
61
- llmobs.annotate({
62
- inputData: input,
63
- outputData: result,
64
- metadata: {
65
- toolCallId: options?.toolCallId,
66
- },
67
- });
68
- return result;
69
- });
70
- }
71
- catch (error) {
72
- console.error(`Error executing tool ${name}:`, error);
73
- throw error;
74
- }
75
- },
76
- };
77
- }
78
- return tracedToolset;
79
- };
80
- // Helper to extract JWT trace tags
81
- export function getJwtTraceTags(jwt) {
82
- const result = {};
83
- if (jwt) {
84
- try {
85
- const parts = jwt.split(".");
86
- if (parts.length === 3 && parts[1]) {
87
- const payload = JSON.parse(Buffer.from(parts[1], "base64").toString());
88
- if (payload.org_id)
89
- result["org.id"] = payload.org_id;
90
- if (payload.org_name)
91
- result["org.name"] = payload.org_name;
92
- if (payload.user_id)
93
- result["user.id"] = payload.user_id;
94
- if (payload.user_email)
95
- result["user.email"] = payload.user_email;
96
- }
97
- }
98
- catch {
99
- // Silently handle JWT parsing errors
100
- }
101
- }
102
- return result;
103
- }
104
- // Helper to combine common tags with enhanced user information
105
- export function getCommonTraceTags(jwt, applicationId, organizationId, additionalTags = {}) {
106
- const result = {};
107
- // Extract and add JWT tags using the extracted function
108
- Object.assign(result, getJwtTraceTags(jwt));
109
- // Add required tags (no if checks needed since they're required)
110
- result["application.id"] = applicationId;
111
- result["organization.id"] = organizationId;
112
- // Add additional tags
113
- Object.assign(result, additionalTags);
114
- return result;
115
- }
116
- /**
117
- * Builds LLMObsNamedSpanOptions from StepResult for tracing
118
- */
119
- export function buildSpanOptions(kind, step, modelName, modelProvider) {
120
- const getSpanName = (finishReason, content) => {
121
- switch (finishReason) {
122
- case "tool-calls": {
123
- const toolName = Array.isArray(content)
124
- ? content.find((item) => item?.type === "tool-call" && item.toolName)
125
- ?.toolName
126
- : undefined;
127
- return toolName ? `llm_${toolName}` : "llm_tool_calls";
128
- }
129
- case "stop":
130
- return "llm_text_generation";
131
- case "length":
132
- return "llm_token_limit";
133
- case "content-filter":
134
- return "llm_content_filtered";
135
- case "error":
136
- return "llm_error";
137
- default:
138
- return "llm_step";
139
- }
140
- };
141
- return {
142
- kind,
143
- name: getSpanName(step.finishReason, step.content),
144
- ...(modelName && { modelName }),
145
- ...(modelProvider && { modelProvider }),
146
- };
147
- }
148
- /**
149
- * Wrapper around streamText that automatically handles tracing for onStepFinish, onFinish, and prepareStep
150
- */
151
- export function tracedStreamText(options) {
152
- const { llmobs } = tracer;
153
- let startTime;
154
- const tracedPrepareStep = async (step) => {
155
- startTime = Date.now();
156
- if (options.prepareStep) {
157
- return await options.prepareStep(step);
158
- }
159
- };
160
- const tracedOnStepFinish = async (step) => {
161
- return llmobs.trace(buildSpanOptions("llm", step, typeof options.model === "string"
162
- ? options.model
163
- : options.model.modelId, typeof options.model === "string" ? "unknown" : options.model.provider), async () => {
164
- if (options.onStepFinish) {
165
- await options.onStepFinish(step);
166
- }
167
- console.log("Usage:", JSON.stringify(step.usage));
168
- llmobs.annotate({
169
- inputData: JSON.stringify(step.request?.body?.messages || []),
170
- outputData: JSON.stringify(step.content),
171
- metrics: {
172
- inputTokens: step.usage?.inputTokens ?? 0,
173
- outputTokens: step.usage?.outputTokens ?? 0,
174
- totalTokens: step.usage?.totalTokens ?? 0,
175
- },
176
- metadata: {
177
- request: step.request,
178
- response: step.response,
179
- },
180
- tags: {
181
- duration: Date.now() - startTime,
182
- cachedInputTokens: step.usage?.cachedInputTokens ?? 0,
183
- },
184
- });
185
- });
186
- };
187
- // Trace all tools
188
- if (options.tools) {
189
- options.tools = traceToolSet(options.tools);
190
- }
191
- return streamText({
192
- ...options,
193
- prepareStep: tracedPrepareStep,
194
- onStepFinish: tracedOnStepFinish,
195
- });
196
- }
197
- //# sourceMappingURL=ddog-llmobs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ddog-llmobs.js","sourceRoot":"","sources":["../../../src/ai-service/util/ddog-llmobs.ts"],"names":[],"mappings":"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"}