@nodetool-ai/runtime 0.8.1 → 0.8.2

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 (256) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/context.d.ts +31 -3
  3. package/dist/context.d.ts.map +1 -1
  4. package/dist/context.js +366 -158
  5. package/dist/context.js.map +1 -1
  6. package/dist/generation-registry.d.ts +8 -0
  7. package/dist/generation-registry.d.ts.map +1 -1
  8. package/dist/generation-registry.js +18 -0
  9. package/dist/generation-registry.js.map +1 -1
  10. package/dist/host-binaries.d.ts.map +1 -1
  11. package/dist/host-binaries.js +18 -10
  12. package/dist/host-binaries.js.map +1 -1
  13. package/dist/image-codec.d.ts +2 -0
  14. package/dist/image-codec.d.ts.map +1 -1
  15. package/dist/image-codec.js +23 -3
  16. package/dist/image-codec.js.map +1 -1
  17. package/dist/image-model-tasks.d.ts +15 -0
  18. package/dist/image-model-tasks.d.ts.map +1 -0
  19. package/dist/image-model-tasks.js +24 -0
  20. package/dist/image-model-tasks.js.map +1 -0
  21. package/dist/index.d.ts +14 -3
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +10 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/media-ref-bytes.d.ts +18 -2
  26. package/dist/media-ref-bytes.d.ts.map +1 -1
  27. package/dist/media-ref-bytes.js +26 -16
  28. package/dist/media-ref-bytes.js.map +1 -1
  29. package/dist/node-executor.d.ts +6 -0
  30. package/dist/node-executor.d.ts.map +1 -1
  31. package/dist/providers/aki-provider.d.ts +2 -0
  32. package/dist/providers/aki-provider.d.ts.map +1 -1
  33. package/dist/providers/aki-provider.js +6 -0
  34. package/dist/providers/aki-provider.js.map +1 -1
  35. package/dist/providers/atlascloud-provider.d.ts +2 -0
  36. package/dist/providers/atlascloud-provider.d.ts.map +1 -1
  37. package/dist/providers/atlascloud-provider.js +22 -0
  38. package/dist/providers/atlascloud-provider.js.map +1 -1
  39. package/dist/providers/base-provider.d.ts +36 -24
  40. package/dist/providers/base-provider.d.ts.map +1 -1
  41. package/dist/providers/base-provider.js +124 -148
  42. package/dist/providers/base-provider.js.map +1 -1
  43. package/dist/providers/claude-agent-provider.d.ts +6 -36
  44. package/dist/providers/claude-agent-provider.d.ts.map +1 -1
  45. package/dist/providers/claude-agent-provider.js +208 -26
  46. package/dist/providers/claude-agent-provider.js.map +1 -1
  47. package/dist/providers/codex-provider.d.ts +2 -0
  48. package/dist/providers/codex-provider.d.ts.map +1 -1
  49. package/dist/providers/codex-provider.js +15 -2
  50. package/dist/providers/codex-provider.js.map +1 -1
  51. package/dist/providers/cohere-provider.d.ts +2 -1
  52. package/dist/providers/cohere-provider.d.ts.map +1 -1
  53. package/dist/providers/cohere-provider.js +5 -0
  54. package/dist/providers/cohere-provider.js.map +1 -1
  55. package/dist/providers/core-tools.d.ts +2 -1
  56. package/dist/providers/core-tools.d.ts.map +1 -1
  57. package/dist/providers/core-tools.js +2 -1
  58. package/dist/providers/core-tools.js.map +1 -1
  59. package/dist/providers/credential-check.d.ts.map +1 -1
  60. package/dist/providers/credential-check.js +5 -0
  61. package/dist/providers/credential-check.js.map +1 -1
  62. package/dist/providers/custom-openai-provider.d.ts +2 -0
  63. package/dist/providers/custom-openai-provider.d.ts.map +1 -1
  64. package/dist/providers/custom-openai-provider.js +8 -0
  65. package/dist/providers/custom-openai-provider.js.map +1 -1
  66. package/dist/providers/dreamina-models.d.ts +5 -0
  67. package/dist/providers/dreamina-models.d.ts.map +1 -0
  68. package/dist/providers/dreamina-models.js +57 -0
  69. package/dist/providers/dreamina-models.js.map +1 -0
  70. package/dist/providers/dreamina-music.d.ts +52 -0
  71. package/dist/providers/dreamina-music.d.ts.map +1 -0
  72. package/dist/providers/dreamina-music.js +115 -0
  73. package/dist/providers/dreamina-music.js.map +1 -0
  74. package/dist/providers/dreamina-provider.d.ts +62 -0
  75. package/dist/providers/dreamina-provider.d.ts.map +1 -0
  76. package/dist/providers/dreamina-provider.js +790 -0
  77. package/dist/providers/dreamina-provider.js.map +1 -0
  78. package/dist/providers/elevenlabs-provider.d.ts +2 -1
  79. package/dist/providers/elevenlabs-provider.d.ts.map +1 -1
  80. package/dist/providers/elevenlabs-provider.js +5 -0
  81. package/dist/providers/elevenlabs-provider.js.map +1 -1
  82. package/dist/providers/evolink-provider.d.ts +2 -0
  83. package/dist/providers/evolink-provider.d.ts.map +1 -1
  84. package/dist/providers/evolink-provider.js +8 -0
  85. package/dist/providers/evolink-provider.js.map +1 -1
  86. package/dist/providers/fake-provider.d.ts +2 -1
  87. package/dist/providers/fake-provider.d.ts.map +1 -1
  88. package/dist/providers/fake-provider.js +10 -0
  89. package/dist/providers/fake-provider.js.map +1 -1
  90. package/dist/providers/fal-provider.d.ts +2 -1
  91. package/dist/providers/fal-provider.d.ts.map +1 -1
  92. package/dist/providers/fal-provider.js +27 -0
  93. package/dist/providers/fal-provider.js.map +1 -1
  94. package/dist/providers/gemini-provider.d.ts +2 -1
  95. package/dist/providers/gemini-provider.d.ts.map +1 -1
  96. package/dist/providers/gemini-provider.js +15 -0
  97. package/dist/providers/gemini-provider.js.map +1 -1
  98. package/dist/providers/higgsfield-provider.d.ts +2 -1
  99. package/dist/providers/higgsfield-provider.d.ts.map +1 -1
  100. package/dist/providers/higgsfield-provider.js +12 -0
  101. package/dist/providers/higgsfield-provider.js.map +1 -1
  102. package/dist/providers/huggingface-provider.d.ts +2 -1
  103. package/dist/providers/huggingface-provider.d.ts.map +1 -1
  104. package/dist/providers/huggingface-provider.js +10 -0
  105. package/dist/providers/huggingface-provider.js.map +1 -1
  106. package/dist/providers/index.d.ts +5 -2
  107. package/dist/providers/index.d.ts.map +1 -1
  108. package/dist/providers/index.js +13 -2
  109. package/dist/providers/index.js.map +1 -1
  110. package/dist/providers/jina-provider.d.ts +2 -1
  111. package/dist/providers/jina-provider.d.ts.map +1 -1
  112. package/dist/providers/jina-provider.js +5 -0
  113. package/dist/providers/jina-provider.js.map +1 -1
  114. package/dist/providers/kie-provider.d.ts +2 -1
  115. package/dist/providers/kie-provider.d.ts.map +1 -1
  116. package/dist/providers/kie-provider.js +14 -0
  117. package/dist/providers/kie-provider.js.map +1 -1
  118. package/dist/providers/llama-provider.d.ts +4 -1
  119. package/dist/providers/llama-provider.d.ts.map +1 -1
  120. package/dist/providers/llama-provider.js +9 -3
  121. package/dist/providers/llama-provider.js.map +1 -1
  122. package/dist/providers/loop-tracing.d.ts +17 -0
  123. package/dist/providers/loop-tracing.d.ts.map +1 -0
  124. package/dist/providers/loop-tracing.js +132 -0
  125. package/dist/providers/loop-tracing.js.map +1 -0
  126. package/dist/providers/meshy-provider.d.ts +2 -1
  127. package/dist/providers/meshy-provider.d.ts.map +1 -1
  128. package/dist/providers/meshy-provider.js +6 -0
  129. package/dist/providers/meshy-provider.js.map +1 -1
  130. package/dist/providers/minimax-provider.d.ts +2 -0
  131. package/dist/providers/minimax-provider.d.ts.map +1 -1
  132. package/dist/providers/minimax-provider.js +11 -0
  133. package/dist/providers/minimax-provider.js.map +1 -1
  134. package/dist/providers/mistral-provider.d.ts +2 -0
  135. package/dist/providers/mistral-provider.d.ts.map +1 -1
  136. package/dist/providers/mistral-provider.js +5 -0
  137. package/dist/providers/mistral-provider.js.map +1 -1
  138. package/dist/providers/node-llama-cpp-provider.d.ts +2 -1
  139. package/dist/providers/node-llama-cpp-provider.d.ts.map +1 -1
  140. package/dist/providers/node-llama-cpp-provider.js +8 -3
  141. package/dist/providers/node-llama-cpp-provider.js.map +1 -1
  142. package/dist/providers/nodetool-provider.d.ts +1 -1
  143. package/dist/providers/nodetool-provider.d.ts.map +1 -1
  144. package/dist/providers/nodetool-provider.js +0 -2
  145. package/dist/providers/nodetool-provider.js.map +1 -1
  146. package/dist/providers/ollama-provider.d.ts +2 -1
  147. package/dist/providers/ollama-provider.d.ts.map +1 -1
  148. package/dist/providers/ollama-provider.js +5 -0
  149. package/dist/providers/ollama-provider.js.map +1 -1
  150. package/dist/providers/openai-provider.d.ts +10 -2
  151. package/dist/providers/openai-provider.d.ts.map +1 -1
  152. package/dist/providers/openai-provider.js +63 -16
  153. package/dist/providers/openai-provider.js.map +1 -1
  154. package/dist/providers/openrouter-provider.d.ts +52 -1
  155. package/dist/providers/openrouter-provider.d.ts.map +1 -1
  156. package/dist/providers/openrouter-provider.js +372 -11
  157. package/dist/providers/openrouter-provider.js.map +1 -1
  158. package/dist/providers/provider-error.d.ts.map +1 -1
  159. package/dist/providers/provider-error.js +7 -1
  160. package/dist/providers/provider-error.js.map +1 -1
  161. package/dist/providers/provider-generations.d.ts +2 -2
  162. package/dist/providers/provider-generations.js +2 -2
  163. package/dist/providers/provider-request-log.d.ts.map +1 -1
  164. package/dist/providers/provider-request-log.js +18 -7
  165. package/dist/providers/provider-request-log.js.map +1 -1
  166. package/dist/providers/python-provider.d.ts +6 -1
  167. package/dist/providers/python-provider.d.ts.map +1 -1
  168. package/dist/providers/python-provider.js +30 -11
  169. package/dist/providers/python-provider.js.map +1 -1
  170. package/dist/providers/replicate-provider.d.ts +2 -1
  171. package/dist/providers/replicate-provider.d.ts.map +1 -1
  172. package/dist/providers/replicate-provider.js +22 -0
  173. package/dist/providers/replicate-provider.js.map +1 -1
  174. package/dist/providers/requesty-provider.d.ts +30 -0
  175. package/dist/providers/requesty-provider.d.ts.map +1 -0
  176. package/dist/providers/requesty-provider.js +87 -0
  177. package/dist/providers/requesty-provider.js.map +1 -0
  178. package/dist/providers/reve-provider.d.ts +2 -1
  179. package/dist/providers/reve-provider.d.ts.map +1 -1
  180. package/dist/providers/reve-provider.js +6 -0
  181. package/dist/providers/reve-provider.js.map +1 -1
  182. package/dist/providers/rodin-provider.d.ts +2 -1
  183. package/dist/providers/rodin-provider.d.ts.map +1 -1
  184. package/dist/providers/rodin-provider.js +6 -0
  185. package/dist/providers/rodin-provider.js.map +1 -1
  186. package/dist/providers/together-operations.d.ts +27 -0
  187. package/dist/providers/together-operations.d.ts.map +1 -0
  188. package/dist/providers/together-operations.js +95 -0
  189. package/dist/providers/together-operations.js.map +1 -0
  190. package/dist/providers/together-provider.d.ts +5 -8
  191. package/dist/providers/together-provider.d.ts.map +1 -1
  192. package/dist/providers/together-provider.js +54 -159
  193. package/dist/providers/together-provider.js.map +1 -1
  194. package/dist/providers/topaz-provider.d.ts +2 -1
  195. package/dist/providers/topaz-provider.d.ts.map +1 -1
  196. package/dist/providers/topaz-provider.js +5 -0
  197. package/dist/providers/topaz-provider.js.map +1 -1
  198. package/dist/providers/types.d.ts +38 -0
  199. package/dist/providers/types.d.ts.map +1 -1
  200. package/dist/providers/types.js.map +1 -1
  201. package/dist/providers/useapi-provider.d.ts +2 -1
  202. package/dist/providers/useapi-provider.d.ts.map +1 -1
  203. package/dist/providers/useapi-provider.js +8 -0
  204. package/dist/providers/useapi-provider.js.map +1 -1
  205. package/dist/providers/vllm-provider.d.ts +2 -4
  206. package/dist/providers/vllm-provider.d.ts.map +1 -1
  207. package/dist/providers/vllm-provider.js +1 -5
  208. package/dist/providers/vllm-provider.js.map +1 -1
  209. package/dist/providers/voyage-provider.d.ts +2 -1
  210. package/dist/providers/voyage-provider.d.ts.map +1 -1
  211. package/dist/providers/voyage-provider.js +5 -0
  212. package/dist/providers/voyage-provider.js.map +1 -1
  213. package/dist/providers/xai-provider.d.ts +2 -0
  214. package/dist/providers/xai-provider.d.ts.map +1 -1
  215. package/dist/providers/xai-provider.js +8 -0
  216. package/dist/providers/xai-provider.js.map +1 -1
  217. package/dist/recommended-models.d.ts.map +1 -1
  218. package/dist/recommended-models.js +20 -0
  219. package/dist/recommended-models.js.map +1 -1
  220. package/dist/run-context.d.ts +20 -0
  221. package/dist/run-context.d.ts.map +1 -0
  222. package/dist/run-context.js +18 -0
  223. package/dist/run-context.js.map +1 -0
  224. package/dist/run-trace-context.d.ts +30 -0
  225. package/dist/run-trace-context.d.ts.map +1 -0
  226. package/dist/run-trace-context.js +80 -0
  227. package/dist/run-trace-context.js.map +1 -0
  228. package/dist/run-trace-processor.d.ts +65 -0
  229. package/dist/run-trace-processor.d.ts.map +1 -0
  230. package/dist/run-trace-processor.js +417 -0
  231. package/dist/run-trace-processor.js.map +1 -0
  232. package/dist/run-trace-serialization.d.ts +5 -0
  233. package/dist/run-trace-serialization.d.ts.map +1 -0
  234. package/dist/run-trace-serialization.js +113 -0
  235. package/dist/run-trace-serialization.js.map +1 -0
  236. package/dist/storage-workspace.d.ts +3 -0
  237. package/dist/storage-workspace.d.ts.map +1 -1
  238. package/dist/storage-workspace.js +32 -17
  239. package/dist/storage-workspace.js.map +1 -1
  240. package/dist/telemetry.d.ts +9 -3
  241. package/dist/telemetry.d.ts.map +1 -1
  242. package/dist/telemetry.js +53 -20
  243. package/dist/telemetry.js.map +1 -1
  244. package/dist/trace-exporters.d.ts +2 -29
  245. package/dist/trace-exporters.d.ts.map +1 -1
  246. package/dist/trace-exporters.js +10 -2
  247. package/dist/trace-exporters.js.map +1 -1
  248. package/dist/tracing-helpers.d.ts +15 -22
  249. package/dist/tracing-helpers.d.ts.map +1 -1
  250. package/dist/tracing-helpers.js +38 -6
  251. package/dist/tracing-helpers.js.map +1 -1
  252. package/dist/trim-video-window.d.ts +8 -0
  253. package/dist/trim-video-window.d.ts.map +1 -0
  254. package/dist/trim-video-window.js +50 -0
  255. package/dist/trim-video-window.js.map +1 -0
  256. package/package.json +19 -5
@@ -1,3 +1,5 @@
1
+ import { stringifyTraceContent } from "../run-trace-serialization.js";
2
+ import { tracedProviderLoop, tracedToolCall, beginProviderRound, providerRoundContext, traceContentAllowed, messageTraceContent, traceTextContent } from "./loop-tracing.js";
1
3
  import { isProviderSessionUpdate, isProviderMessageEvent, isProviderStop, isProviderToolErrorResult, PROVIDER_STOP_ABORTED } from "./types.js";
2
4
  import { ProviderGenerationsUnsupportedError } from "./provider-generations.js";
3
5
  import { CostCalculator } from "./cost-calculator.js";
@@ -11,7 +13,7 @@ import { annotateProviderError, markContextExceeded } from "./provider-error.js"
11
13
  import { buildProviderCallFailure } from "./provider-call-failure.js";
12
14
  import { applyEntityReferences } from "./entity-references.js";
13
15
  import { expandVideoContentAsFrames, videoFrameFallbackEnabled } from "./video-frame-fallback.js";
14
- import { SpanStatusCode } from "@opentelemetry/api";
16
+ import { SpanStatusCode, context, trace } from "@opentelemetry/api";
15
17
  import { createLogger, getDefaultAssetsPath } from "@nodetool-ai/config";
16
18
  const log = createLogger("nodetool.runtime.provider");
17
19
  /**
@@ -72,117 +74,6 @@ export function splitToolResultImages(result) {
72
74
  imageMessage: { role: "user", content: [...texts, ...images] }
73
75
  };
74
76
  }
75
- /**
76
- * Derive a provider's capability set by checking which optional `getAvailable*`
77
- * methods it overrides on its prototype. Every provider can always generate
78
- * messages; image/video/TTS/ASR/embedding are advertised only when the concrete
79
- * class overrides the matching base method.
80
- *
81
- * Shared by `packages/websocket/src/models-api.ts` (REST leftover) and the
82
- * `models` tRPC router so both report identical capabilities for the same
83
- * provider instance.
84
- */
85
- export function providerCapabilities(instance) {
86
- const capabilities = [
87
- "generate_message",
88
- "generate_messages"
89
- ];
90
- if (instance.getAvailableImageModels !==
91
- BaseProvider.prototype.getAvailableImageModels) {
92
- capabilities.push("text_to_image", "image_to_image");
93
- }
94
- if (instance.getAvailableVideoModels !==
95
- BaseProvider.prototype.getAvailableVideoModels) {
96
- capabilities.push("text_to_video", "image_to_video");
97
- }
98
- if (instance.referenceToVideo !== BaseProvider.prototype.referenceToVideo) {
99
- capabilities.push("reference_to_video");
100
- }
101
- // The remaining task types don't have their own model-discovery method —
102
- // they reuse Image/VideoModel (advertised via each model's `supportedTasks`).
103
- // Advertise the provider-level capability when the concrete class overrides
104
- // the matching task method.
105
- if (instance.inpaint !== BaseProvider.prototype.inpaint) {
106
- capabilities.push("inpainting");
107
- }
108
- if (instance.outpaintImage !== BaseProvider.prototype.outpaintImage) {
109
- capabilities.push("outpaint_image");
110
- }
111
- if (instance.upscaleImage !== BaseProvider.prototype.upscaleImage) {
112
- capabilities.push("upscale_image");
113
- }
114
- if (instance.removeBackground !== BaseProvider.prototype.removeBackground) {
115
- capabilities.push("remove_background");
116
- }
117
- if (instance.relightImage !== BaseProvider.prototype.relightImage) {
118
- capabilities.push("relight_image");
119
- }
120
- if (instance.segmentImage !== BaseProvider.prototype.segmentImage) {
121
- capabilities.push("segment_image");
122
- }
123
- if (instance.vectorizeImage !== BaseProvider.prototype.vectorizeImage) {
124
- capabilities.push("vectorize_image");
125
- }
126
- if (instance.videoToVideo !== BaseProvider.prototype.videoToVideo) {
127
- capabilities.push("video_to_video");
128
- }
129
- if (instance.videoToAudio !== BaseProvider.prototype.videoToAudio) {
130
- capabilities.push("video_to_audio");
131
- }
132
- if (instance.trackObject !== BaseProvider.prototype.trackObject) {
133
- capabilities.push("track_object");
134
- }
135
- if (instance.extendVideo !== BaseProvider.prototype.extendVideo) {
136
- capabilities.push("extend_video");
137
- }
138
- if (instance.upscaleVideo !== BaseProvider.prototype.upscaleVideo) {
139
- capabilities.push("upscale_video");
140
- }
141
- if (instance.interpolateVideo !== BaseProvider.prototype.interpolateVideo) {
142
- capabilities.push("interpolate_video");
143
- }
144
- if (instance.outpaintVideo !== BaseProvider.prototype.outpaintVideo) {
145
- capabilities.push("outpaint_video");
146
- }
147
- if (instance.lipSync !== BaseProvider.prototype.lipSync) {
148
- capabilities.push("lip_sync");
149
- }
150
- if (instance.getAvailableTTSModels !==
151
- BaseProvider.prototype.getAvailableTTSModels) {
152
- capabilities.push("text_to_speech");
153
- }
154
- if (instance.getAvailableMusicModels !==
155
- BaseProvider.prototype.getAvailableMusicModels) {
156
- capabilities.push("text_to_music");
157
- }
158
- if (instance.getAvailableAudioToAudioModels !==
159
- BaseProvider.prototype.getAvailableAudioToAudioModels) {
160
- capabilities.push("audio_to_audio");
161
- }
162
- if (instance.getAvailableASRModels !==
163
- BaseProvider.prototype.getAvailableASRModels) {
164
- capabilities.push("automatic_speech_recognition");
165
- }
166
- if (instance.getAvailableEmbeddingModels !==
167
- BaseProvider.prototype.getAvailableEmbeddingModels) {
168
- capabilities.push("generate_embedding");
169
- }
170
- if (instance.getAvailable3DModels !==
171
- BaseProvider.prototype.getAvailable3DModels) {
172
- // Providers that expose 3D models are assumed to support both task types;
173
- // individual `textTo3D` / `imageTo3D` calls will throw if not implemented.
174
- capabilities.push("text_to_3d", "image_to_3d");
175
- }
176
- // The provider's own record of what it ran, exposed only by providers with
177
- // a history API behind it (see provider-generations.ts).
178
- if (instance.listGenerations !== BaseProvider.prototype.listGenerations) {
179
- capabilities.push("list_generations");
180
- }
181
- if (instance.getGeneration !== BaseProvider.prototype.getGeneration) {
182
- capabilities.push("get_generation");
183
- }
184
- return capabilities;
185
- }
186
77
  /**
187
78
  * What one attached medium costs a vision/audio model, per block. These are
188
79
  * modality constants, not measurements of the bytes: by the time a turn is
@@ -308,6 +199,35 @@ export class BaseProvider {
308
199
  if (this._emitMessage)
309
200
  this._emitMessage(msg);
310
201
  }
202
+ /**
203
+ * Report one non-chat provider call (image, video, speech, ASR, embedding…)
204
+ * as an `llm_call` so the trace shows every provider call, not only chat.
205
+ * Carries no token counts: those modalities bill per unit, not per token.
206
+ * @internal
207
+ */
208
+ recordModalityCall(input) {
209
+ if (!this._emitMessage)
210
+ return;
211
+ const prompt = input.args
212
+ .map((arg) => isObjectLike(arg) ? arg.prompt : undefined)
213
+ .find(isString);
214
+ this.emitMessage({
215
+ type: "llm_call",
216
+ node_id: "",
217
+ provider: this.provider,
218
+ operation: input.operation,
219
+ model: extractModelId(input.args),
220
+ messages: prompt ? [{ role: "user", content: prompt }] : [],
221
+ response: null,
222
+ tool_calls: null,
223
+ tokens_input: null,
224
+ tokens_output: null,
225
+ cost: null,
226
+ duration_ms: Date.now() - input.startedAt,
227
+ error: input.error === undefined ? null : String(input.error),
228
+ timestamp: new Date(input.startedAt).toISOString()
229
+ });
230
+ }
311
231
  /**
312
232
  * Record a failed provider call: a server-side log with the exact request,
313
233
  * and a `provider_call_failed` message so the surface showing the failure
@@ -380,7 +300,11 @@ export class BaseProvider {
380
300
  const args = applyEntityReferences(name, rawArgs);
381
301
  const startedAt = Date.now();
382
302
  try {
383
- return await original.apply(this, args);
303
+ const result = await original.apply(this, args);
304
+ if (!alreadyActive) {
305
+ this.recordModalityCall({ operation: name, args, startedAt });
306
+ }
307
+ return result;
384
308
  }
385
309
  catch (err) {
386
310
  annotateProviderError(err, {
@@ -388,6 +312,12 @@ export class BaseProvider {
388
312
  model: extractModelId(args)
389
313
  });
390
314
  if (!alreadyActive) {
315
+ this.recordModalityCall({
316
+ operation: name,
317
+ args,
318
+ startedAt,
319
+ error: err
320
+ });
391
321
  const failureArgs = name === "referenceToVideo"
392
322
  ? [referenceVideoDiagnostics(args)]
393
323
  : args;
@@ -483,32 +413,25 @@ export class BaseProvider {
483
413
  return null;
484
414
  }
485
415
  /**
486
- * Explicit capability declaration. Returns `null` by default, in which case
487
- * {@link getCapabilities} derives capabilities by reflecting on which
488
- * optional methods the concrete class overrides. Providers may override this
489
- * to declare their capabilities directly — an alternative to method
490
- * reflection when methods are wrapped, bound, or composed via mixins.
416
+ * The operations beyond chat that this provider implements. Each concrete
417
+ * provider lists its own; the base implements none. A capability belongs
418
+ * here only when the matching method has a working implementation.
491
419
  */
492
420
  declaredCapabilities() {
493
- return null;
421
+ return [];
494
422
  }
495
423
  /**
496
- * The capabilities this provider exposes. Prefers an explicit declaration
497
- * from {@link declaredCapabilities}; otherwise falls back to reflecting over
498
- * overridden methods via {@link providerCapabilities}. Callers should use
499
- * this instead of calling `providerCapabilities()` directly so explicit
500
- * declarations are honored.
424
+ * The capabilities this provider exposes: chat generation, which every
425
+ * provider has, plus its {@link declaredCapabilities}.
501
426
  */
502
427
  getCapabilities() {
503
- const declared = this.declaredCapabilities();
504
- if (declared) {
505
- // Message generation is always available; ensure it is present.
506
- const set = new Set(declared);
507
- set.add("generate_message");
508
- set.add("generate_messages");
509
- return [...set];
510
- }
511
- return providerCapabilities(this);
428
+ return [
429
+ ...new Set([
430
+ "generate_message",
431
+ "generate_messages",
432
+ ...this.declaredCapabilities()
433
+ ])
434
+ ];
512
435
  }
513
436
  /**
514
437
  * The provider's own record of the generations this account ran, newest
@@ -679,6 +602,10 @@ export class BaseProvider {
679
602
  async getAvailableEmbeddingModels() {
680
603
  return [];
681
604
  }
605
+ /** Reranking models exposed by this provider. */
606
+ async getAvailableRerankModels() {
607
+ return [];
608
+ }
682
609
  /**
683
610
  * 3D **generation** models exposed by this provider (e.g. Meshy's `meshy-4`,
684
611
  * Rodin's `rodin-regular`). Override on providers that can synthesize 3D
@@ -700,12 +627,14 @@ export class BaseProvider {
700
627
  const result = await this.generateMessage(args);
701
628
  const content = isString(result.content)
702
629
  ? result.content
703
- : JSON.stringify(result.content);
630
+ : stringifyTraceContent(result.content);
704
631
  span.setAttributes({
705
632
  "llm.response.role": result.role,
706
- "llm.response.content": content.slice(0, 2000),
707
633
  "llm.response.tool_calls_count": result.toolCalls?.length ?? 0
708
634
  });
635
+ if (traceContentAllowed()) {
636
+ span.setAttribute("llm.response.content", traceTextContent(content));
637
+ }
709
638
  span.setStatus({ code: SpanStatusCode.OK });
710
639
  return result;
711
640
  }
@@ -793,6 +722,10 @@ export class BaseProvider {
793
722
  }
794
723
  }
795
724
  applyLlmRequestAttributes(span, args, streaming) {
725
+ if (traceContentAllowed()) {
726
+ span.setAttribute("llm.request.messages", messageTraceContent(args.messages.filter((message) => typeof message === "object" && message !== null && "role" in message)));
727
+ span.setAttribute("llm.tool.names", stringifyTraceContent((args.tools ?? []).map((tool) => typeof tool === "object" && tool !== null && "name" in tool ? tool.name : null)));
728
+ }
796
729
  span.setAttributes({
797
730
  "llm.provider": this.provider,
798
731
  "llm.model": args.model,
@@ -953,8 +886,11 @@ export class BaseProvider {
953
886
  });
954
887
  }
955
888
  async *generateLoop(args) {
889
+ return yield* tracedProviderLoop(this.provider, args.model, () => BaseProvider.prototype.generateBaseLoop.call(this, args));
890
+ }
891
+ async *generateBaseLoop(args) {
956
892
  const maxIterations = args.maxIterations ?? 25;
957
- const { executeTool, maxIterations: _omitMax, sequentialTools, turnBudget: budgetArg, workspaceDir: _omitWorkspaceDir, skills: _omitSkills, resolveMedia, ...turnArgs } = args;
893
+ const { executeTool, maxIterations: _omitMax, sequentialTools, providedToolsOnly: _omitProvidedToolsOnly, turnBudget: budgetArg, workspaceDir: _omitWorkspaceDir, skills: _omitSkills, resolveMedia, ...turnArgs } = args;
958
894
  const { runBudget, turnBudget } = resolveTurnBudget(budgetArg);
959
895
  const messages = [...args.messages];
960
896
  // What the provider is actually sent: `messages` with every media
@@ -983,11 +919,8 @@ export class BaseProvider {
983
919
  let toolCallSeq = 0;
984
920
  const onToolCall = executeTool
985
921
  ? async (name, toolArgs) => {
986
- const result = await executeTool({
987
- id: `call_${++toolCallSeq}`,
988
- name,
989
- args: toolArgs
990
- });
922
+ const call = { id: `call_${++toolCallSeq}`, name, args: toolArgs };
923
+ const result = await tracedToolCall(call, () => executeTool(call));
991
924
  if (isProviderToolErrorResult(result)) {
992
925
  return toolResultToText(result.content);
993
926
  }
@@ -1011,6 +944,7 @@ export class BaseProvider {
1011
944
  return;
1012
945
  }
1013
946
  }
947
+ beginProviderRound(this.provider, args.model);
1014
948
  const costBeforeTurn = turnBudget ? this.getTotalCost() : 0;
1015
949
  let assistantText = "";
1016
950
  let finalizedAssistant;
@@ -1131,10 +1065,12 @@ export class BaseProvider {
1131
1065
  const runTool = async (tc) => {
1132
1066
  const tool = toolMap.get(tc.name);
1133
1067
  try {
1134
- if (tool?.execute)
1135
- return await tool.execute(tc.args ?? {}, tc.id);
1068
+ if (tool?.execute) {
1069
+ const execute = tool.execute;
1070
+ return await tracedToolCall(tc, () => execute(tc.args ?? {}, tc.id));
1071
+ }
1136
1072
  if (executeTool)
1137
- return await executeTool(tc);
1073
+ return await tracedToolCall(tc, () => executeTool(tc));
1138
1074
  return `Tool "${tc.name}" is not available`;
1139
1075
  }
1140
1076
  catch (err) {
@@ -1223,15 +1159,31 @@ export class BaseProvider {
1223
1159
  }
1224
1160
  /** Internal: wrap generateMessages with OTel span */
1225
1161
  async *_tracedStream(args, tracer) {
1226
- const span = tracer.startSpan(`llm.stream ${this.provider}/${args.model}`);
1162
+ const span = tracer.startSpan(`llm.stream ${this.provider}/${args.model}`, {}, providerRoundContext());
1227
1163
  this.applyLlmRequestAttributes(span, args, true);
1228
1164
  let chunkCount = 0;
1165
+ let response = "";
1166
+ const stream = this.generateMessages(args);
1167
+ const active = trace.setSpan(providerRoundContext(), span);
1168
+ let exhausted = false;
1229
1169
  try {
1230
- for await (const item of this.generateMessages(args)) {
1170
+ while (true) {
1171
+ const next = await context.with(active, () => stream.next());
1172
+ if (next.done) {
1173
+ exhausted = true;
1174
+ break;
1175
+ }
1176
+ const item = next.value;
1177
+ if (traceContentAllowed() && "content" in item && typeof item.content === "string" && !("thinking" in item && item.thinking) && (!("content_type" in item) || item.content_type === "text")) {
1178
+ response = traceTextContent(response + item.content);
1179
+ }
1231
1180
  chunkCount++;
1232
1181
  yield item;
1233
1182
  }
1234
- span.setAttributes({ "llm.response.chunk_count": chunkCount });
1183
+ span.setAttribute("llm.response.chunk_count", chunkCount);
1184
+ if (traceContentAllowed()) {
1185
+ span.setAttribute("llm.response.content", response);
1186
+ }
1235
1187
  span.setStatus({ code: SpanStatusCode.OK });
1236
1188
  }
1237
1189
  catch (err) {
@@ -1240,6 +1192,9 @@ export class BaseProvider {
1240
1192
  throw err;
1241
1193
  }
1242
1194
  finally {
1195
+ if (!exhausted) {
1196
+ await context.with(active, () => stream.return(undefined));
1197
+ }
1243
1198
  applyUsageAttributes(span, peekLastUsage());
1244
1199
  span.end();
1245
1200
  }
@@ -1324,6 +1279,13 @@ export class BaseProvider {
1324
1279
  async removeBackground(_image, _params) {
1325
1280
  throw new Error(`${this.provider} does not support removeBackground`);
1326
1281
  }
1282
+ /**
1283
+ * Estimate per-pixel depth. Returns a grayscale PNG at the input's size,
1284
+ * where brighter pixels are nearer to the camera.
1285
+ */
1286
+ async estimateDepth(_image, _params) {
1287
+ throw new Error(`${this.provider} does not support estimateDepth`);
1288
+ }
1327
1289
  /**
1328
1290
  * Segment an image into object masks. Returns one entry per object the model
1329
1291
  * found, in the model's own order; an empty array means it found nothing,
@@ -1455,6 +1417,10 @@ export class BaseProvider {
1455
1417
  async generateEmbedding(_args) {
1456
1418
  throw new Error(`${this.provider} does not support generateEmbedding`);
1457
1419
  }
1420
+ /** Score each document against the query, most relevant first. */
1421
+ async rerank(_params) {
1422
+ throw new Error(`${this.provider} does not support rerank`);
1423
+ }
1458
1424
  /**
1459
1425
  * Whether `error` is this provider refusing the request because it exceeds
1460
1426
  * the model's context window. Default `false`: a provider whose signal has
@@ -1615,6 +1581,7 @@ const MODALITY_PROMISE_METHODS = [
1615
1581
  "outpaintImage",
1616
1582
  "upscaleImage",
1617
1583
  "removeBackground",
1584
+ "estimateDepth",
1618
1585
  "relightImage",
1619
1586
  "vectorizeImage",
1620
1587
  "segmentImage",
@@ -1634,7 +1601,8 @@ const MODALITY_PROMISE_METHODS = [
1634
1601
  "lipSync",
1635
1602
  "textTo3D",
1636
1603
  "imageTo3D",
1637
- "generateEmbedding"
1604
+ "generateEmbedding",
1605
+ "rerank"
1638
1606
  ];
1639
1607
  /** Async-generator non-chat modality methods wrapped with failure logging. */
1640
1608
  const MODALITY_GENERATOR_METHODS = ["textToSpeech"];
@@ -1669,6 +1637,7 @@ async function* wrapModalityGenerator(provider, original, args, operationName) {
1669
1637
  const startedAt = Date.now();
1670
1638
  const source = original.apply(provider, args);
1671
1639
  let exhausted = false;
1640
+ let failure;
1672
1641
  try {
1673
1642
  while (true) {
1674
1643
  const result = await runInSlot(() => source.next());
@@ -1680,6 +1649,7 @@ async function* wrapModalityGenerator(provider, original, args, operationName) {
1680
1649
  }
1681
1650
  }
1682
1651
  catch (err) {
1652
+ failure = err;
1683
1653
  annotateProviderError(err, {
1684
1654
  provider: provider.provider,
1685
1655
  model: extractModelId(args)
@@ -1702,6 +1672,12 @@ async function* wrapModalityGenerator(provider, original, args, operationName) {
1702
1672
  value: undefined
1703
1673
  })).catch(() => { });
1704
1674
  }
1675
+ provider.recordModalityCall({
1676
+ operation: operationName,
1677
+ args,
1678
+ startedAt,
1679
+ error: failure
1680
+ });
1705
1681
  }
1706
1682
  }
1707
1683
  /** Attach gen_ai usage attributes to a span (no-op if usage is null). */
@@ -1 +1 @@
1
- {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/providers/base-provider.ts"],"names":[],"mappings":"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"}