@nodetool-ai/runtime 0.7.0-rc.11

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 (198) hide show
  1. package/dist/bridge-protocol.d.ts +39 -0
  2. package/dist/bridge-protocol.d.ts.map +1 -0
  3. package/dist/bridge-protocol.js +39 -0
  4. package/dist/bridge-protocol.js.map +1 -0
  5. package/dist/comfy-executor.d.ts +41 -0
  6. package/dist/comfy-executor.d.ts.map +1 -0
  7. package/dist/comfy-executor.js +305 -0
  8. package/dist/comfy-executor.js.map +1 -0
  9. package/dist/context-packer.d.ts +22 -0
  10. package/dist/context-packer.d.ts.map +1 -0
  11. package/dist/context-packer.js +66 -0
  12. package/dist/context-packer.js.map +1 -0
  13. package/dist/context.d.ts +405 -0
  14. package/dist/context.d.ts.map +1 -0
  15. package/dist/context.js +1455 -0
  16. package/dist/context.js.map +1 -0
  17. package/dist/index.d.ts +18 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +15 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/node-executor.d.ts +53 -0
  22. package/dist/node-executor.d.ts.map +1 -0
  23. package/dist/node-executor.js +9 -0
  24. package/dist/node-executor.js.map +1 -0
  25. package/dist/providers/aki-manifest.json +34 -0
  26. package/dist/providers/aki-provider.d.ts +65 -0
  27. package/dist/providers/aki-provider.d.ts.map +1 -0
  28. package/dist/providers/aki-provider.js +517 -0
  29. package/dist/providers/aki-provider.js.map +1 -0
  30. package/dist/providers/anthropic-provider.d.ts +55 -0
  31. package/dist/providers/anthropic-provider.d.ts.map +1 -0
  32. package/dist/providers/anthropic-provider.js +563 -0
  33. package/dist/providers/anthropic-provider.js.map +1 -0
  34. package/dist/providers/base-provider.d.ts +194 -0
  35. package/dist/providers/base-provider.d.ts.map +1 -0
  36. package/dist/providers/base-provider.js +515 -0
  37. package/dist/providers/base-provider.js.map +1 -0
  38. package/dist/providers/cerebras-provider.d.ts +20 -0
  39. package/dist/providers/cerebras-provider.d.ts.map +1 -0
  40. package/dist/providers/cerebras-provider.js +52 -0
  41. package/dist/providers/cerebras-provider.js.map +1 -0
  42. package/dist/providers/claude-agent-provider.d.ts +107 -0
  43. package/dist/providers/claude-agent-provider.d.ts.map +1 -0
  44. package/dist/providers/claude-agent-provider.js +586 -0
  45. package/dist/providers/claude-agent-provider.js.map +1 -0
  46. package/dist/providers/cohere-provider.d.ts +36 -0
  47. package/dist/providers/cohere-provider.d.ts.map +1 -0
  48. package/dist/providers/cohere-provider.js +116 -0
  49. package/dist/providers/cohere-provider.js.map +1 -0
  50. package/dist/providers/cost-calculator.d.ts +109 -0
  51. package/dist/providers/cost-calculator.d.ts.map +1 -0
  52. package/dist/providers/cost-calculator.js +475 -0
  53. package/dist/providers/cost-calculator.js.map +1 -0
  54. package/dist/providers/deepseek-provider.d.ts +25 -0
  55. package/dist/providers/deepseek-provider.d.ts.map +1 -0
  56. package/dist/providers/deepseek-provider.js +58 -0
  57. package/dist/providers/deepseek-provider.js.map +1 -0
  58. package/dist/providers/fake-provider.d.ts +52 -0
  59. package/dist/providers/fake-provider.d.ts.map +1 -0
  60. package/dist/providers/fake-provider.js +107 -0
  61. package/dist/providers/fake-provider.js.map +1 -0
  62. package/dist/providers/fal-provider.d.ts +32 -0
  63. package/dist/providers/fal-provider.d.ts.map +1 -0
  64. package/dist/providers/fal-provider.js +445 -0
  65. package/dist/providers/fal-provider.js.map +1 -0
  66. package/dist/providers/gemini-provider.d.ts +109 -0
  67. package/dist/providers/gemini-provider.d.ts.map +1 -0
  68. package/dist/providers/gemini-provider.js +943 -0
  69. package/dist/providers/gemini-provider.js.map +1 -0
  70. package/dist/providers/groq-provider.d.ts +20 -0
  71. package/dist/providers/groq-provider.d.ts.map +1 -0
  72. package/dist/providers/groq-provider.js +52 -0
  73. package/dist/providers/groq-provider.js.map +1 -0
  74. package/dist/providers/huggingface-provider.d.ts +59 -0
  75. package/dist/providers/huggingface-provider.d.ts.map +1 -0
  76. package/dist/providers/huggingface-provider.js +305 -0
  77. package/dist/providers/huggingface-provider.js.map +1 -0
  78. package/dist/providers/index.d.ts +69 -0
  79. package/dist/providers/index.d.ts.map +1 -0
  80. package/dist/providers/index.js +137 -0
  81. package/dist/providers/index.js.map +1 -0
  82. package/dist/providers/jina-provider.d.ts +37 -0
  83. package/dist/providers/jina-provider.d.ts.map +1 -0
  84. package/dist/providers/jina-provider.js +118 -0
  85. package/dist/providers/jina-provider.js.map +1 -0
  86. package/dist/providers/kie-provider.d.ts +19 -0
  87. package/dist/providers/kie-provider.d.ts.map +1 -0
  88. package/dist/providers/kie-provider.js +118 -0
  89. package/dist/providers/kie-provider.js.map +1 -0
  90. package/dist/providers/llama-provider.d.ts +49 -0
  91. package/dist/providers/llama-provider.d.ts.map +1 -0
  92. package/dist/providers/llama-provider.js +381 -0
  93. package/dist/providers/llama-provider.js.map +1 -0
  94. package/dist/providers/lmstudio-provider.d.ts +22 -0
  95. package/dist/providers/lmstudio-provider.d.ts.map +1 -0
  96. package/dist/providers/lmstudio-provider.js +63 -0
  97. package/dist/providers/lmstudio-provider.js.map +1 -0
  98. package/dist/providers/manifest-models.d.ts +12 -0
  99. package/dist/providers/manifest-models.d.ts.map +1 -0
  100. package/dist/providers/manifest-models.js +96 -0
  101. package/dist/providers/manifest-models.js.map +1 -0
  102. package/dist/providers/meshy-provider.d.ts +53 -0
  103. package/dist/providers/meshy-provider.d.ts.map +1 -0
  104. package/dist/providers/meshy-provider.js +230 -0
  105. package/dist/providers/meshy-provider.js.map +1 -0
  106. package/dist/providers/minimax-provider.d.ts +66 -0
  107. package/dist/providers/minimax-provider.d.ts.map +1 -0
  108. package/dist/providers/minimax-provider.js +531 -0
  109. package/dist/providers/minimax-provider.js.map +1 -0
  110. package/dist/providers/mistral-provider.d.ts +26 -0
  111. package/dist/providers/mistral-provider.d.ts.map +1 -0
  112. package/dist/providers/mistral-provider.js +74 -0
  113. package/dist/providers/mistral-provider.js.map +1 -0
  114. package/dist/providers/moonshot-provider.d.ts +24 -0
  115. package/dist/providers/moonshot-provider.d.ts.map +1 -0
  116. package/dist/providers/moonshot-provider.js +43 -0
  117. package/dist/providers/moonshot-provider.js.map +1 -0
  118. package/dist/providers/ollama-provider.d.ts +71 -0
  119. package/dist/providers/ollama-provider.d.ts.map +1 -0
  120. package/dist/providers/ollama-provider.js +480 -0
  121. package/dist/providers/ollama-provider.js.map +1 -0
  122. package/dist/providers/openai-provider.d.ts +103 -0
  123. package/dist/providers/openai-provider.d.ts.map +1 -0
  124. package/dist/providers/openai-provider.js +917 -0
  125. package/dist/providers/openai-provider.js.map +1 -0
  126. package/dist/providers/openrouter-provider.d.ts +49 -0
  127. package/dist/providers/openrouter-provider.d.ts.map +1 -0
  128. package/dist/providers/openrouter-provider.js +147 -0
  129. package/dist/providers/openrouter-provider.js.map +1 -0
  130. package/dist/providers/provider-registry.d.ts +24 -0
  131. package/dist/providers/provider-registry.d.ts.map +1 -0
  132. package/dist/providers/provider-registry.js +124 -0
  133. package/dist/providers/provider-registry.js.map +1 -0
  134. package/dist/providers/python-provider.d.ts +75 -0
  135. package/dist/providers/python-provider.d.ts.map +1 -0
  136. package/dist/providers/python-provider.js +157 -0
  137. package/dist/providers/python-provider.js.map +1 -0
  138. package/dist/providers/replicate-provider.d.ts +73 -0
  139. package/dist/providers/replicate-provider.d.ts.map +1 -0
  140. package/dist/providers/replicate-provider.js +484 -0
  141. package/dist/providers/replicate-provider.js.map +1 -0
  142. package/dist/providers/rodin-provider.d.ts +41 -0
  143. package/dist/providers/rodin-provider.d.ts.map +1 -0
  144. package/dist/providers/rodin-provider.js +236 -0
  145. package/dist/providers/rodin-provider.js.map +1 -0
  146. package/dist/providers/scripted-provider.d.ts +141 -0
  147. package/dist/providers/scripted-provider.d.ts.map +1 -0
  148. package/dist/providers/scripted-provider.js +246 -0
  149. package/dist/providers/scripted-provider.js.map +1 -0
  150. package/dist/providers/together-provider.d.ts +20 -0
  151. package/dist/providers/together-provider.d.ts.map +1 -0
  152. package/dist/providers/together-provider.js +56 -0
  153. package/dist/providers/together-provider.js.map +1 -0
  154. package/dist/providers/types.d.ts +202 -0
  155. package/dist/providers/types.d.ts.map +1 -0
  156. package/dist/providers/types.js +2 -0
  157. package/dist/providers/types.js.map +1 -0
  158. package/dist/providers/vllm-provider.d.ts +22 -0
  159. package/dist/providers/vllm-provider.d.ts.map +1 -0
  160. package/dist/providers/vllm-provider.js +66 -0
  161. package/dist/providers/vllm-provider.js.map +1 -0
  162. package/dist/providers/voyage-provider.d.ts +37 -0
  163. package/dist/providers/voyage-provider.d.ts.map +1 -0
  164. package/dist/providers/voyage-provider.js +124 -0
  165. package/dist/providers/voyage-provider.js.map +1 -0
  166. package/dist/providers/xai-provider.d.ts +24 -0
  167. package/dist/providers/xai-provider.d.ts.map +1 -0
  168. package/dist/providers/xai-provider.js +57 -0
  169. package/dist/providers/xai-provider.js.map +1 -0
  170. package/dist/python-bridge-types.d.ts +70 -0
  171. package/dist/python-bridge-types.d.ts.map +1 -0
  172. package/dist/python-bridge-types.js +2 -0
  173. package/dist/python-bridge-types.js.map +1 -0
  174. package/dist/python-node-executor.d.ts +20 -0
  175. package/dist/python-node-executor.d.ts.map +1 -0
  176. package/dist/python-node-executor.js +219 -0
  177. package/dist/python-node-executor.js.map +1 -0
  178. package/dist/python-stdio-bridge.d.ts +67 -0
  179. package/dist/python-stdio-bridge.d.ts.map +1 -0
  180. package/dist/python-stdio-bridge.js +704 -0
  181. package/dist/python-stdio-bridge.js.map +1 -0
  182. package/dist/recommended-models.d.ts +17 -0
  183. package/dist/recommended-models.d.ts.map +1 -0
  184. package/dist/recommended-models.js +139 -0
  185. package/dist/recommended-models.js.map +1 -0
  186. package/dist/telemetry.d.ts +61 -0
  187. package/dist/telemetry.d.ts.map +1 -0
  188. package/dist/telemetry.js +128 -0
  189. package/dist/telemetry.js.map +1 -0
  190. package/dist/trace-exporters.d.ts +72 -0
  191. package/dist/trace-exporters.d.ts.map +1 -0
  192. package/dist/trace-exporters.js +216 -0
  193. package/dist/trace-exporters.js.map +1 -0
  194. package/dist/tracing-helpers.d.ts +99 -0
  195. package/dist/tracing-helpers.d.ts.map +1 -0
  196. package/dist/tracing-helpers.js +217 -0
  197. package/dist/tracing-helpers.js.map +1 -0
  198. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-stdio-bridge.js","sourceRoot":"","sources":["../src/python-stdio-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Curated list of recommended models surfaced by the models API and CLI.
3
+ *
4
+ * Kept here (outside the websocket package) so CLI/tooling can import the
5
+ * list without pulling in a Fastify server.
6
+ */
7
+ import type { UnifiedModel } from "@nodetool-ai/protocol";
8
+ import type { ProviderId } from "./providers/index.js";
9
+ export interface RecommendedUnifiedModel extends UnifiedModel {
10
+ modality: "language" | "image" | "tts" | "asr" | "video";
11
+ task?: "text_generation" | "embedding" | "text_to_image" | "image_to_image" | "text_to_video" | "image_to_video";
12
+ provider?: ProviderId;
13
+ /** Optional list of platforms this entry is valid on. Undefined = all. */
14
+ supported_systems?: Array<"darwin" | "linux" | "windows">;
15
+ }
16
+ export declare const RECOMMENDED_MODELS: RecommendedUnifiedModel[];
17
+ //# sourceMappingURL=recommended-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommended-models.d.ts","sourceRoot":"","sources":["../src/recommended-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IACzD,IAAI,CAAC,EACD,iBAAiB,GACjB,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,gBAAgB,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,EAmIvD,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Curated list of recommended models surfaced by the models API and CLI.
3
+ *
4
+ * Kept here (outside the websocket package) so CLI/tooling can import the
5
+ * list without pulling in a Fastify server.
6
+ */
7
+ export const RECOMMENDED_MODELS = [
8
+ {
9
+ id: "gpt-4o-mini",
10
+ type: "language_model",
11
+ name: "GPT-4o mini",
12
+ repo_id: null,
13
+ path: null,
14
+ downloaded: false,
15
+ modality: "language",
16
+ task: "text_generation",
17
+ provider: "openai"
18
+ },
19
+ {
20
+ id: "claude-3-5-sonnet-latest",
21
+ type: "language_model",
22
+ name: "Claude 3.5 Sonnet",
23
+ repo_id: null,
24
+ path: null,
25
+ downloaded: false,
26
+ modality: "language",
27
+ task: "text_generation",
28
+ provider: "anthropic"
29
+ },
30
+ {
31
+ id: "text-embedding-3-small",
32
+ type: "embedding_model",
33
+ name: "Text Embedding 3 Small",
34
+ repo_id: null,
35
+ path: null,
36
+ downloaded: false,
37
+ modality: "language",
38
+ task: "embedding",
39
+ provider: "openai"
40
+ },
41
+ {
42
+ id: "voyage-3.5",
43
+ type: "embedding_model",
44
+ name: "Voyage 3.5",
45
+ repo_id: null,
46
+ path: null,
47
+ downloaded: false,
48
+ modality: "language",
49
+ task: "embedding",
50
+ provider: "voyage"
51
+ },
52
+ {
53
+ id: "embed-v4.0",
54
+ type: "embedding_model",
55
+ name: "Cohere Embed v4.0",
56
+ repo_id: null,
57
+ path: null,
58
+ downloaded: false,
59
+ modality: "language",
60
+ task: "embedding",
61
+ provider: "cohere"
62
+ },
63
+ {
64
+ id: "jina-embeddings-v3",
65
+ type: "embedding_model",
66
+ name: "Jina Embeddings v3",
67
+ repo_id: null,
68
+ path: null,
69
+ downloaded: false,
70
+ modality: "language",
71
+ task: "embedding",
72
+ provider: "jina"
73
+ },
74
+ {
75
+ id: "gpt-image-2",
76
+ type: "image_model",
77
+ name: "GPT Image 2",
78
+ repo_id: null,
79
+ path: null,
80
+ downloaded: false,
81
+ modality: "image",
82
+ task: "text_to_image",
83
+ provider: "openai"
84
+ },
85
+ {
86
+ id: "gpt-image-2",
87
+ type: "image_model",
88
+ name: "GPT Image 2",
89
+ repo_id: null,
90
+ path: null,
91
+ downloaded: false,
92
+ modality: "image",
93
+ task: "image_to_image",
94
+ provider: "openai"
95
+ },
96
+ {
97
+ id: "whisper-1",
98
+ type: "asr_model",
99
+ name: "Whisper",
100
+ repo_id: null,
101
+ path: null,
102
+ downloaded: false,
103
+ modality: "asr",
104
+ provider: "openai"
105
+ },
106
+ {
107
+ id: "tts-1",
108
+ type: "tts_model",
109
+ name: "TTS 1",
110
+ repo_id: null,
111
+ path: null,
112
+ downloaded: false,
113
+ modality: "tts",
114
+ provider: "openai"
115
+ },
116
+ {
117
+ id: "sora-2",
118
+ type: "video_model",
119
+ name: "Sora 2",
120
+ repo_id: null,
121
+ path: null,
122
+ downloaded: false,
123
+ modality: "video",
124
+ task: "text_to_video",
125
+ provider: "openai"
126
+ },
127
+ {
128
+ id: "sora-2",
129
+ type: "video_model",
130
+ name: "Sora 2",
131
+ repo_id: null,
132
+ path: null,
133
+ downloaded: false,
134
+ modality: "video",
135
+ task: "image_to_video",
136
+ provider: "openai"
137
+ }
138
+ ];
139
+ //# sourceMappingURL=recommended-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommended-models.js","sourceRoot":"","sources":["../src/recommended-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,MAAM,CAAC,MAAM,kBAAkB,GAA8B;IAC3D;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * OpenTelemetry telemetry for LLM provider calls, agent execution, and
3
+ * workflow runs.
4
+ *
5
+ * Multiple sinks can be active simultaneously — for example, log to a JSONL
6
+ * file *and* ship to Traceloop *and* pretty-print to stdout. Each sink gets
7
+ * its own span processor so they're independent.
8
+ *
9
+ * Configuration (env vars; CLI flags / programmatic options take precedence):
10
+ *
11
+ * OpenTelemetry / OTLP:
12
+ * TRACELOOP_API_KEY — Traceloop cloud API key
13
+ * OTEL_EXPORTER_OTLP_ENDPOINT — Any OTLP-compatible backend
14
+ * OTEL_SERVICE_NAME — Service name tag (default: "nodetool")
15
+ * OTEL_TRACES_EXPORTER=console — Print spans to stdout via OTel SDK
16
+ * TRACELOOP_DISABLE_BATCH=true — Flush spans immediately (dev mode)
17
+ *
18
+ * NodeTool sinks (analyzer-friendly):
19
+ * NODETOOL_TRACE_FILE=path.jsonl — append one JSON span per line
20
+ * NODETOOL_TRACE_STDOUT=pretty|json — write spans to stdout (human/JSONL)
21
+ *
22
+ * All NodeTool sinks emit the same {@link TraceRecord} shape (see
23
+ * trace-exporters.ts) so a downstream agent can ingest either one.
24
+ */
25
+ import type { Tracer } from "@opentelemetry/api";
26
+ import type { StdoutFormat } from "./trace-exporters.js";
27
+ export interface TelemetryOptions {
28
+ /** Override the service name (defaults to OTEL_SERVICE_NAME or "nodetool"). */
29
+ serviceName?: string;
30
+ /** Print spans to stdout via OTel SDK ConsoleSpanExporter (legacy). */
31
+ console?: boolean;
32
+ /**
33
+ * Write spans to stdout in the given format. Same as setting
34
+ * `NODETOOL_TRACE_STDOUT`. Use this for the analyzer-friendly stdout sink.
35
+ */
36
+ stdout?: StdoutFormat | false;
37
+ /**
38
+ * Append spans as JSONL to this path. Same as `NODETOOL_TRACE_FILE`. Parent
39
+ * directories are created automatically.
40
+ */
41
+ traceFile?: string;
42
+ /** Flush OTLP spans immediately instead of batching. */
43
+ disableBatch?: boolean;
44
+ /** Suppress the initialization log. */
45
+ silent?: boolean;
46
+ }
47
+ /**
48
+ * Initialize OpenTelemetry instrumentation.
49
+ *
50
+ * Idempotent: calling more than once is a no-op (returns the previous result).
51
+ * Returns true if at least one sink is active, false if telemetry was skipped.
52
+ */
53
+ export declare function initTelemetry(options?: TelemetryOptions): Promise<boolean>;
54
+ /** Returns the active tracer, or null if telemetry is not initialized. */
55
+ export declare function getTracer(): Tracer | null;
56
+ /**
57
+ * Reset the telemetry singleton. Test-only — production code should call
58
+ * `initTelemetry()` exactly once at startup.
59
+ */
60
+ export declare function _resetTelemetryForTest(): void;
61
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAOzD,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAwGlB;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * OpenTelemetry telemetry for LLM provider calls, agent execution, and
3
+ * workflow runs.
4
+ *
5
+ * Multiple sinks can be active simultaneously — for example, log to a JSONL
6
+ * file *and* ship to Traceloop *and* pretty-print to stdout. Each sink gets
7
+ * its own span processor so they're independent.
8
+ *
9
+ * Configuration (env vars; CLI flags / programmatic options take precedence):
10
+ *
11
+ * OpenTelemetry / OTLP:
12
+ * TRACELOOP_API_KEY — Traceloop cloud API key
13
+ * OTEL_EXPORTER_OTLP_ENDPOINT — Any OTLP-compatible backend
14
+ * OTEL_SERVICE_NAME — Service name tag (default: "nodetool")
15
+ * OTEL_TRACES_EXPORTER=console — Print spans to stdout via OTel SDK
16
+ * TRACELOOP_DISABLE_BATCH=true — Flush spans immediately (dev mode)
17
+ *
18
+ * NodeTool sinks (analyzer-friendly):
19
+ * NODETOOL_TRACE_FILE=path.jsonl — append one JSON span per line
20
+ * NODETOOL_TRACE_STDOUT=pretty|json — write spans to stdout (human/JSONL)
21
+ *
22
+ * All NodeTool sinks emit the same {@link TraceRecord} shape (see
23
+ * trace-exporters.ts) so a downstream agent can ingest either one.
24
+ */
25
+ import { createLogger } from "@nodetool-ai/config";
26
+ const log = createLogger("nodetool.runtime.telemetry");
27
+ let _tracer = null;
28
+ let _initialized = false;
29
+ /**
30
+ * Initialize OpenTelemetry instrumentation.
31
+ *
32
+ * Idempotent: calling more than once is a no-op (returns the previous result).
33
+ * Returns true if at least one sink is active, false if telemetry was skipped.
34
+ */
35
+ export async function initTelemetry(options = {}) {
36
+ if (_initialized)
37
+ return _tracer !== null;
38
+ const traceloopKey = process.env["TRACELOOP_API_KEY"];
39
+ const otlpEndpoint = process.env["OTEL_EXPORTER_OTLP_ENDPOINT"];
40
+ const consoleMode = options.console || process.env["OTEL_TRACES_EXPORTER"] === "console";
41
+ const stdoutFormat = (() => {
42
+ if (options.stdout === false)
43
+ return null;
44
+ if (options.stdout === "pretty" || options.stdout === "json") {
45
+ return options.stdout;
46
+ }
47
+ const env = process.env["NODETOOL_TRACE_STDOUT"];
48
+ if (env === "pretty" || env === "json")
49
+ return env;
50
+ if (env === "1" || env === "true")
51
+ return "pretty";
52
+ return null;
53
+ })();
54
+ const traceFilePath = options.traceFile ?? process.env["NODETOOL_TRACE_FILE"];
55
+ const hasOtlp = !!(traceloopKey || otlpEndpoint);
56
+ if (!hasOtlp && !consoleMode && !stdoutFormat && !traceFilePath) {
57
+ _initialized = true;
58
+ return false;
59
+ }
60
+ const { NodeSDK } = await import("@opentelemetry/sdk-node");
61
+ const { resourceFromAttributes } = await import("@opentelemetry/resources");
62
+ const { ATTR_SERVICE_NAME } = await import("@opentelemetry/semantic-conventions");
63
+ const otelApi = await import("@opentelemetry/api");
64
+ const { BatchSpanProcessor, SimpleSpanProcessor, ConsoleSpanExporter } = await import("@opentelemetry/sdk-trace-base");
65
+ const serviceName = options.serviceName ?? process.env["OTEL_SERVICE_NAME"] ?? "nodetool";
66
+ const disableBatch = options.disableBatch ?? process.env["TRACELOOP_DISABLE_BATCH"] === "true";
67
+ const processors = [];
68
+ const destinations = [];
69
+ if (hasOtlp) {
70
+ const { OTLPTraceExporter } = await import("@opentelemetry/exporter-trace-otlp-proto");
71
+ const url = otlpEndpoint
72
+ ? `${otlpEndpoint}/v1/traces`
73
+ : "https://api.traceloop.com/v1/traces";
74
+ const headers = traceloopKey
75
+ ? { Authorization: `Bearer ${traceloopKey}` }
76
+ : {};
77
+ const exporter = new OTLPTraceExporter({ url, headers });
78
+ const Proc = disableBatch ? SimpleSpanProcessor : BatchSpanProcessor;
79
+ processors.push(new Proc(exporter));
80
+ destinations.push(traceloopKey ? "traceloop" : `otlp:${otlpEndpoint}`);
81
+ }
82
+ if (consoleMode) {
83
+ processors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));
84
+ destinations.push("otel-console");
85
+ }
86
+ if (stdoutFormat) {
87
+ const { StdoutSpanExporter } = await import("./trace-exporters.js");
88
+ processors.push(new SimpleSpanProcessor(new StdoutSpanExporter(stdoutFormat)));
89
+ destinations.push(`stdout:${stdoutFormat}`);
90
+ }
91
+ if (traceFilePath) {
92
+ const { JsonlFileSpanExporter } = await import("./trace-exporters.js");
93
+ // SimpleSpanProcessor — we want the file written eagerly so a crash
94
+ // doesn't lose recent spans, and disk I/O is cheap enough.
95
+ processors.push(new SimpleSpanProcessor(new JsonlFileSpanExporter(traceFilePath)));
96
+ destinations.push(`file:${traceFilePath}`);
97
+ }
98
+ const sdk = new NodeSDK({
99
+ resource: resourceFromAttributes({ [ATTR_SERVICE_NAME]: serviceName }),
100
+ spanProcessors: processors
101
+ });
102
+ // sdk.start() is typed as void in current SDK versions, but historically
103
+ // returned a Promise — `await` is a no-op on non-thenable values, so this
104
+ // is safe across versions and avoids racing the first spans on any
105
+ // version that does init asynchronously.
106
+ await sdk.start();
107
+ _tracer = otelApi.trace.getTracer("nodetool", "0.1.0");
108
+ _initialized = true;
109
+ if (!options.silent) {
110
+ log.info("OpenTelemetry initialized", {
111
+ destinations: destinations.join(", ")
112
+ });
113
+ }
114
+ return true;
115
+ }
116
+ /** Returns the active tracer, or null if telemetry is not initialized. */
117
+ export function getTracer() {
118
+ return _tracer;
119
+ }
120
+ /**
121
+ * Reset the telemetry singleton. Test-only — production code should call
122
+ * `initTelemetry()` exactly once at startup.
123
+ */
124
+ export function _resetTelemetryForTest() {
125
+ _tracer = null;
126
+ _initialized = false;
127
+ }
128
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Custom OpenTelemetry span exporters for NodeTool.
3
+ *
4
+ * - {@link JsonlFileSpanExporter} — appends one JSON line per span to a file
5
+ * - {@link StdoutSpanExporter} — writes spans to stdout in `json` (JSONL)
6
+ * or `pretty` (human-readable) format
7
+ *
8
+ * Both produce the same structured shape, so an analyzer agent reading either
9
+ * file or stdout output gets identical fields.
10
+ */
11
+ import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
12
+ import { type ExportResult } from "@opentelemetry/core";
13
+ /**
14
+ * Stable, analyzer-friendly JSON shape derived from a {@link ReadableSpan}.
15
+ *
16
+ * `start_time_ms` / `end_time_ms` are unix-epoch milliseconds; `duration_ms`
17
+ * is end−start. Timestamps are ms (not ns) because that's what every
18
+ * downstream consumer (logs, dashboards, LLMs) actually uses.
19
+ */
20
+ export interface TraceRecord {
21
+ trace_id: string;
22
+ span_id: string;
23
+ parent_span_id: string | null;
24
+ name: string;
25
+ kind: string;
26
+ start_time_ms: number;
27
+ end_time_ms: number;
28
+ duration_ms: number;
29
+ status: {
30
+ code: string;
31
+ message?: string;
32
+ };
33
+ attributes: Record<string, unknown>;
34
+ events: Array<{
35
+ name: string;
36
+ time_ms: number;
37
+ attributes?: Record<string, unknown>;
38
+ }>;
39
+ resource: Record<string, unknown>;
40
+ }
41
+ export declare function spanToRecord(span: ReadableSpan): TraceRecord;
42
+ /**
43
+ * Append spans as JSONL to a file. Creates parent directories as needed.
44
+ *
45
+ * Spans are written as soon as `export()` is called (use a SimpleSpanProcessor
46
+ * for immediate flush, BatchSpanProcessor for buffered).
47
+ *
48
+ * Honors stream backpressure: each batch awaits the underlying `write`
49
+ * callback (and a `drain` event when the stream reports it's full) before
50
+ * reporting SUCCESS, so high trace volume can't accumulate unbounded.
51
+ */
52
+ export declare class JsonlFileSpanExporter implements SpanExporter {
53
+ private stream;
54
+ private streamReady;
55
+ constructor(filePath: string);
56
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
57
+ shutdown(): Promise<void>;
58
+ forceFlush(): Promise<void>;
59
+ }
60
+ export type StdoutFormat = "pretty" | "json";
61
+ /**
62
+ * Write spans to stdout. `format: "json"` emits JSONL; `format: "pretty"`
63
+ * emits a human-readable single-line summary that's still grep-friendly.
64
+ */
65
+ export declare class StdoutSpanExporter implements SpanExporter {
66
+ private readonly format;
67
+ constructor(format?: StdoutFormat);
68
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void;
69
+ shutdown(): Promise<void>;
70
+ forceFlush(): Promise<void>;
71
+ }
72
+ //# sourceMappingURL=trace-exporters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-exporters.d.ts","sourceRoot":"","sources":["../src/trace-exporters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CAyB5D;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACxD,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,WAAW,CAAgB;gBAEvB,QAAQ,EAAE,MAAM;IAO5B,MAAM,CACJ,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,IAAI;IAcD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC;AA0CD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7C;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,GAAE,YAAuB;IAE5D,MAAM,CACJ,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAC7C,IAAI;IAgBD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}