@agentuity/runtime 2.0.11 → 3.0.0-alpha.1

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 (415) hide show
  1. package/dist/index.d.ts +37 -65
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +59 -61
  4. package/dist/index.js.map +1 -1
  5. package/package.json +9 -38
  6. package/src/index.ts +58 -259
  7. package/AGENTS.md +0 -116
  8. package/dist/_config.d.ts +0 -100
  9. package/dist/_config.d.ts.map +0 -1
  10. package/dist/_config.js +0 -147
  11. package/dist/_config.js.map +0 -1
  12. package/dist/_context.d.ts +0 -80
  13. package/dist/_context.d.ts.map +0 -1
  14. package/dist/_context.js +0 -160
  15. package/dist/_context.js.map +0 -1
  16. package/dist/_events.d.ts +0 -64
  17. package/dist/_events.d.ts.map +0 -1
  18. package/dist/_events.js +0 -92
  19. package/dist/_events.js.map +0 -1
  20. package/dist/_globals.d.ts +0 -58
  21. package/dist/_globals.d.ts.map +0 -1
  22. package/dist/_globals.js +0 -71
  23. package/dist/_globals.js.map +0 -1
  24. package/dist/_idle.d.ts +0 -7
  25. package/dist/_idle.d.ts.map +0 -1
  26. package/dist/_idle.js +0 -10
  27. package/dist/_idle.js.map +0 -1
  28. package/dist/_metadata.d.ts +0 -117
  29. package/dist/_metadata.d.ts.map +0 -1
  30. package/dist/_metadata.js +0 -268
  31. package/dist/_metadata.js.map +0 -1
  32. package/dist/_process-protection.d.ts +0 -27
  33. package/dist/_process-protection.d.ts.map +0 -1
  34. package/dist/_process-protection.js +0 -56
  35. package/dist/_process-protection.js.map +0 -1
  36. package/dist/_server.d.ts +0 -50
  37. package/dist/_server.d.ts.map +0 -1
  38. package/dist/_server.js +0 -89
  39. package/dist/_server.js.map +0 -1
  40. package/dist/_services.d.ts +0 -25
  41. package/dist/_services.d.ts.map +0 -1
  42. package/dist/_services.js +0 -286
  43. package/dist/_services.js.map +0 -1
  44. package/dist/_standalone.d.ts +0 -212
  45. package/dist/_standalone.d.ts.map +0 -1
  46. package/dist/_standalone.js +0 -556
  47. package/dist/_standalone.js.map +0 -1
  48. package/dist/_tokens.d.ts +0 -12
  49. package/dist/_tokens.d.ts.map +0 -1
  50. package/dist/_tokens.js +0 -97
  51. package/dist/_tokens.js.map +0 -1
  52. package/dist/_util.d.ts +0 -16
  53. package/dist/_util.d.ts.map +0 -1
  54. package/dist/_util.js +0 -54
  55. package/dist/_util.js.map +0 -1
  56. package/dist/_validation.d.ts +0 -89
  57. package/dist/_validation.d.ts.map +0 -1
  58. package/dist/_validation.js +0 -29
  59. package/dist/_validation.js.map +0 -1
  60. package/dist/_waituntil.d.ts +0 -32
  61. package/dist/_waituntil.d.ts.map +0 -1
  62. package/dist/_waituntil.js +0 -156
  63. package/dist/_waituntil.js.map +0 -1
  64. package/dist/agent.d.ts +0 -1262
  65. package/dist/agent.d.ts.map +0 -1
  66. package/dist/agent.js +0 -981
  67. package/dist/agent.js.map +0 -1
  68. package/dist/app.d.ts +0 -514
  69. package/dist/app.d.ts.map +0 -1
  70. package/dist/app.js +0 -228
  71. package/dist/app.js.map +0 -1
  72. package/dist/bootstrap.d.ts +0 -44
  73. package/dist/bootstrap.d.ts.map +0 -1
  74. package/dist/bootstrap.js +0 -259
  75. package/dist/bootstrap.js.map +0 -1
  76. package/dist/bun-s3-patch.d.ts +0 -37
  77. package/dist/bun-s3-patch.d.ts.map +0 -1
  78. package/dist/bun-s3-patch.js +0 -142
  79. package/dist/bun-s3-patch.js.map +0 -1
  80. package/dist/cors.d.ts +0 -42
  81. package/dist/cors.d.ts.map +0 -1
  82. package/dist/cors.js +0 -117
  83. package/dist/cors.js.map +0 -1
  84. package/dist/dev-patches/aisdk.d.ts +0 -17
  85. package/dist/dev-patches/aisdk.d.ts.map +0 -1
  86. package/dist/dev-patches/aisdk.js +0 -160
  87. package/dist/dev-patches/aisdk.js.map +0 -1
  88. package/dist/dev-patches/gateway.d.ts +0 -16
  89. package/dist/dev-patches/gateway.d.ts.map +0 -1
  90. package/dist/dev-patches/gateway.js +0 -54
  91. package/dist/dev-patches/gateway.js.map +0 -1
  92. package/dist/dev-patches/index.d.ts +0 -21
  93. package/dist/dev-patches/index.d.ts.map +0 -1
  94. package/dist/dev-patches/index.js +0 -33
  95. package/dist/dev-patches/index.js.map +0 -1
  96. package/dist/dev-patches/otel-llm.d.ts +0 -12
  97. package/dist/dev-patches/otel-llm.d.ts.map +0 -1
  98. package/dist/dev-patches/otel-llm.js +0 -352
  99. package/dist/dev-patches/otel-llm.js.map +0 -1
  100. package/dist/devmode.d.ts +0 -3
  101. package/dist/devmode.d.ts.map +0 -1
  102. package/dist/devmode.js +0 -167
  103. package/dist/devmode.js.map +0 -1
  104. package/dist/eval.d.ts +0 -91
  105. package/dist/eval.d.ts.map +0 -1
  106. package/dist/eval.js +0 -16
  107. package/dist/eval.js.map +0 -1
  108. package/dist/handlers/_route-meta.d.ts +0 -22
  109. package/dist/handlers/_route-meta.d.ts.map +0 -1
  110. package/dist/handlers/_route-meta.js +0 -25
  111. package/dist/handlers/_route-meta.js.map +0 -1
  112. package/dist/handlers/cron.d.ts +0 -73
  113. package/dist/handlers/cron.d.ts.map +0 -1
  114. package/dist/handlers/cron.js +0 -43
  115. package/dist/handlers/cron.js.map +0 -1
  116. package/dist/handlers/index.d.ts +0 -6
  117. package/dist/handlers/index.d.ts.map +0 -1
  118. package/dist/handlers/index.js +0 -6
  119. package/dist/handlers/index.js.map +0 -1
  120. package/dist/handlers/sse.d.ts +0 -163
  121. package/dist/handlers/sse.d.ts.map +0 -1
  122. package/dist/handlers/sse.js +0 -175
  123. package/dist/handlers/sse.js.map +0 -1
  124. package/dist/handlers/stream.d.ts +0 -52
  125. package/dist/handlers/stream.d.ts.map +0 -1
  126. package/dist/handlers/stream.js +0 -108
  127. package/dist/handlers/stream.js.map +0 -1
  128. package/dist/handlers/webrtc.d.ts +0 -49
  129. package/dist/handlers/webrtc.d.ts.map +0 -1
  130. package/dist/handlers/webrtc.js +0 -109
  131. package/dist/handlers/webrtc.js.map +0 -1
  132. package/dist/handlers/websocket.d.ts +0 -88
  133. package/dist/handlers/websocket.d.ts.map +0 -1
  134. package/dist/handlers/websocket.js +0 -161
  135. package/dist/handlers/websocket.js.map +0 -1
  136. package/dist/logger/console.d.ts +0 -70
  137. package/dist/logger/console.d.ts.map +0 -1
  138. package/dist/logger/console.js +0 -278
  139. package/dist/logger/console.js.map +0 -1
  140. package/dist/logger/index.d.ts +0 -3
  141. package/dist/logger/index.d.ts.map +0 -1
  142. package/dist/logger/index.js +0 -3
  143. package/dist/logger/index.js.map +0 -1
  144. package/dist/logger/internal.d.ts +0 -79
  145. package/dist/logger/internal.d.ts.map +0 -1
  146. package/dist/logger/internal.js +0 -133
  147. package/dist/logger/internal.js.map +0 -1
  148. package/dist/logger/logger.d.ts +0 -41
  149. package/dist/logger/logger.d.ts.map +0 -1
  150. package/dist/logger/logger.js +0 -2
  151. package/dist/logger/logger.js.map +0 -1
  152. package/dist/logger/user.d.ts +0 -8
  153. package/dist/logger/user.d.ts.map +0 -1
  154. package/dist/logger/user.js +0 -7
  155. package/dist/logger/user.js.map +0 -1
  156. package/dist/logger/util.d.ts +0 -11
  157. package/dist/logger/util.d.ts.map +0 -1
  158. package/dist/logger/util.js +0 -77
  159. package/dist/logger/util.js.map +0 -1
  160. package/dist/middleware.d.ts +0 -105
  161. package/dist/middleware.d.ts.map +0 -1
  162. package/dist/middleware.js +0 -763
  163. package/dist/middleware.js.map +0 -1
  164. package/dist/otel/config.d.ts +0 -19
  165. package/dist/otel/config.d.ts.map +0 -1
  166. package/dist/otel/config.js +0 -26
  167. package/dist/otel/config.js.map +0 -1
  168. package/dist/otel/console.d.ts +0 -33
  169. package/dist/otel/console.d.ts.map +0 -1
  170. package/dist/otel/console.js +0 -86
  171. package/dist/otel/console.js.map +0 -1
  172. package/dist/otel/exporters/index.d.ts +0 -4
  173. package/dist/otel/exporters/index.d.ts.map +0 -1
  174. package/dist/otel/exporters/index.js +0 -4
  175. package/dist/otel/exporters/index.js.map +0 -1
  176. package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
  177. package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
  178. package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
  179. package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
  180. package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
  181. package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
  182. package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
  183. package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
  184. package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
  185. package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
  186. package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
  187. package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
  188. package/dist/otel/fetch.d.ts +0 -12
  189. package/dist/otel/fetch.d.ts.map +0 -1
  190. package/dist/otel/fetch.js +0 -82
  191. package/dist/otel/fetch.js.map +0 -1
  192. package/dist/otel/http.d.ts +0 -16
  193. package/dist/otel/http.d.ts.map +0 -1
  194. package/dist/otel/http.js +0 -44
  195. package/dist/otel/http.js.map +0 -1
  196. package/dist/otel/logger.d.ts +0 -37
  197. package/dist/otel/logger.d.ts.map +0 -1
  198. package/dist/otel/logger.js +0 -265
  199. package/dist/otel/logger.js.map +0 -1
  200. package/dist/otel/otel.d.ts +0 -68
  201. package/dist/otel/otel.d.ts.map +0 -1
  202. package/dist/otel/otel.js +0 -245
  203. package/dist/otel/otel.js.map +0 -1
  204. package/dist/otel/tracestate.d.ts +0 -44
  205. package/dist/otel/tracestate.d.ts.map +0 -1
  206. package/dist/otel/tracestate.js +0 -84
  207. package/dist/otel/tracestate.js.map +0 -1
  208. package/dist/router.d.ts +0 -66
  209. package/dist/router.d.ts.map +0 -1
  210. package/dist/router.js +0 -44
  211. package/dist/router.js.map +0 -1
  212. package/dist/services/evalrun/composite.d.ts +0 -21
  213. package/dist/services/evalrun/composite.d.ts.map +0 -1
  214. package/dist/services/evalrun/composite.js +0 -26
  215. package/dist/services/evalrun/composite.js.map +0 -1
  216. package/dist/services/evalrun/http.d.ts +0 -24
  217. package/dist/services/evalrun/http.d.ts.map +0 -1
  218. package/dist/services/evalrun/http.js +0 -115
  219. package/dist/services/evalrun/http.js.map +0 -1
  220. package/dist/services/evalrun/index.d.ts +0 -5
  221. package/dist/services/evalrun/index.d.ts.map +0 -1
  222. package/dist/services/evalrun/index.js +0 -5
  223. package/dist/services/evalrun/index.js.map +0 -1
  224. package/dist/services/evalrun/json.d.ts +0 -21
  225. package/dist/services/evalrun/json.d.ts.map +0 -1
  226. package/dist/services/evalrun/json.js +0 -38
  227. package/dist/services/evalrun/json.js.map +0 -1
  228. package/dist/services/evalrun/local.d.ts +0 -19
  229. package/dist/services/evalrun/local.d.ts.map +0 -1
  230. package/dist/services/evalrun/local.js +0 -22
  231. package/dist/services/evalrun/local.js.map +0 -1
  232. package/dist/services/local/_db.d.ts +0 -4
  233. package/dist/services/local/_db.d.ts.map +0 -1
  234. package/dist/services/local/_db.js +0 -281
  235. package/dist/services/local/_db.js.map +0 -1
  236. package/dist/services/local/_router.d.ts +0 -3
  237. package/dist/services/local/_router.d.ts.map +0 -1
  238. package/dist/services/local/_router.js +0 -28
  239. package/dist/services/local/_router.js.map +0 -1
  240. package/dist/services/local/_util.d.ts +0 -18
  241. package/dist/services/local/_util.d.ts.map +0 -1
  242. package/dist/services/local/_util.js +0 -44
  243. package/dist/services/local/_util.js.map +0 -1
  244. package/dist/services/local/email.d.ts +0 -24
  245. package/dist/services/local/email.d.ts.map +0 -1
  246. package/dist/services/local/email.js +0 -58
  247. package/dist/services/local/email.js.map +0 -1
  248. package/dist/services/local/index.d.ts +0 -10
  249. package/dist/services/local/index.d.ts.map +0 -1
  250. package/dist/services/local/index.js +0 -10
  251. package/dist/services/local/index.js.map +0 -1
  252. package/dist/services/local/keyvalue.d.ts +0 -17
  253. package/dist/services/local/keyvalue.d.ts.map +0 -1
  254. package/dist/services/local/keyvalue.js +0 -133
  255. package/dist/services/local/keyvalue.js.map +0 -1
  256. package/dist/services/local/queue.d.ts +0 -10
  257. package/dist/services/local/queue.d.ts.map +0 -1
  258. package/dist/services/local/queue.js +0 -96
  259. package/dist/services/local/queue.js.map +0 -1
  260. package/dist/services/local/stream.d.ts +0 -12
  261. package/dist/services/local/stream.d.ts.map +0 -1
  262. package/dist/services/local/stream.js +0 -266
  263. package/dist/services/local/stream.js.map +0 -1
  264. package/dist/services/local/task.d.ts +0 -55
  265. package/dist/services/local/task.d.ts.map +0 -1
  266. package/dist/services/local/task.js +0 -1248
  267. package/dist/services/local/task.js.map +0 -1
  268. package/dist/services/local/vector.d.ts +0 -17
  269. package/dist/services/local/vector.d.ts.map +0 -1
  270. package/dist/services/local/vector.js +0 -303
  271. package/dist/services/local/vector.js.map +0 -1
  272. package/dist/services/sandbox/http.d.ts +0 -23
  273. package/dist/services/sandbox/http.d.ts.map +0 -1
  274. package/dist/services/sandbox/http.js +0 -327
  275. package/dist/services/sandbox/http.js.map +0 -1
  276. package/dist/services/sandbox/index.d.ts +0 -2
  277. package/dist/services/sandbox/index.d.ts.map +0 -1
  278. package/dist/services/sandbox/index.js +0 -2
  279. package/dist/services/sandbox/index.js.map +0 -1
  280. package/dist/services/session/composite.d.ts +0 -21
  281. package/dist/services/session/composite.d.ts.map +0 -1
  282. package/dist/services/session/composite.js +0 -26
  283. package/dist/services/session/composite.js.map +0 -1
  284. package/dist/services/session/http.d.ts +0 -34
  285. package/dist/services/session/http.d.ts.map +0 -1
  286. package/dist/services/session/http.js +0 -124
  287. package/dist/services/session/http.js.map +0 -1
  288. package/dist/services/session/index.d.ts +0 -5
  289. package/dist/services/session/index.d.ts.map +0 -1
  290. package/dist/services/session/index.js +0 -5
  291. package/dist/services/session/index.js.map +0 -1
  292. package/dist/services/session/json.d.ts +0 -22
  293. package/dist/services/session/json.d.ts.map +0 -1
  294. package/dist/services/session/json.js +0 -35
  295. package/dist/services/session/json.js.map +0 -1
  296. package/dist/services/session/local.d.ts +0 -19
  297. package/dist/services/session/local.d.ts.map +0 -1
  298. package/dist/services/session/local.js +0 -23
  299. package/dist/services/session/local.js.map +0 -1
  300. package/dist/services/thread/local.d.ts +0 -20
  301. package/dist/services/thread/local.d.ts.map +0 -1
  302. package/dist/services/thread/local.js +0 -158
  303. package/dist/services/thread/local.js.map +0 -1
  304. package/dist/session.d.ts +0 -734
  305. package/dist/session.d.ts.map +0 -1
  306. package/dist/session.js +0 -1140
  307. package/dist/session.js.map +0 -1
  308. package/dist/signature.d.ts +0 -22
  309. package/dist/signature.d.ts.map +0 -1
  310. package/dist/signature.js +0 -63
  311. package/dist/signature.js.map +0 -1
  312. package/dist/validator.d.ts +0 -142
  313. package/dist/validator.d.ts.map +0 -1
  314. package/dist/validator.js +0 -149
  315. package/dist/validator.js.map +0 -1
  316. package/dist/version-check.d.ts +0 -20
  317. package/dist/version-check.d.ts.map +0 -1
  318. package/dist/version-check.js +0 -157
  319. package/dist/version-check.js.map +0 -1
  320. package/dist/web.d.ts +0 -8
  321. package/dist/web.d.ts.map +0 -1
  322. package/dist/web.js +0 -67
  323. package/dist/web.js.map +0 -1
  324. package/dist/webrtc-signaling.d.ts +0 -80
  325. package/dist/webrtc-signaling.d.ts.map +0 -1
  326. package/dist/webrtc-signaling.js +0 -237
  327. package/dist/webrtc-signaling.js.map +0 -1
  328. package/dist/workbench.d.ts +0 -17
  329. package/dist/workbench.d.ts.map +0 -1
  330. package/dist/workbench.js +0 -605
  331. package/dist/workbench.js.map +0 -1
  332. package/src/_config.ts +0 -163
  333. package/src/_context.ts +0 -240
  334. package/src/_events.ts +0 -142
  335. package/src/_globals.ts +0 -92
  336. package/src/_idle.ts +0 -10
  337. package/src/_metadata.ts +0 -407
  338. package/src/_process-protection.ts +0 -71
  339. package/src/_server.ts +0 -109
  340. package/src/_services.ts +0 -379
  341. package/src/_standalone.ts +0 -710
  342. package/src/_tokens.ts +0 -114
  343. package/src/_util.ts +0 -62
  344. package/src/_validation.ts +0 -119
  345. package/src/_waituntil.ts +0 -188
  346. package/src/agent.ts +0 -2739
  347. package/src/app.ts +0 -769
  348. package/src/bootstrap.ts +0 -321
  349. package/src/bun-s3-patch.ts +0 -224
  350. package/src/cors.ts +0 -137
  351. package/src/dev-patches/aisdk.ts +0 -169
  352. package/src/dev-patches/gateway.ts +0 -68
  353. package/src/dev-patches/index.ts +0 -37
  354. package/src/dev-patches/otel-llm.ts +0 -405
  355. package/src/devmode.ts +0 -171
  356. package/src/eval.ts +0 -109
  357. package/src/globals.d.ts +0 -28
  358. package/src/handlers/_route-meta.ts +0 -33
  359. package/src/handlers/cron.ts +0 -141
  360. package/src/handlers/index.ts +0 -18
  361. package/src/handlers/sse.ts +0 -358
  362. package/src/handlers/stream.ts +0 -121
  363. package/src/handlers/webrtc.ts +0 -125
  364. package/src/handlers/websocket.ts +0 -203
  365. package/src/logger/console.ts +0 -323
  366. package/src/logger/index.ts +0 -2
  367. package/src/logger/internal.ts +0 -165
  368. package/src/logger/logger.ts +0 -44
  369. package/src/logger/user.ts +0 -15
  370. package/src/logger/util.ts +0 -80
  371. package/src/middleware.ts +0 -1095
  372. package/src/otel/config.ts +0 -47
  373. package/src/otel/console.ts +0 -91
  374. package/src/otel/exporters/README.md +0 -217
  375. package/src/otel/exporters/index.ts +0 -3
  376. package/src/otel/exporters/jsonl-log-exporter.ts +0 -113
  377. package/src/otel/exporters/jsonl-metric-exporter.ts +0 -120
  378. package/src/otel/exporters/jsonl-trace-exporter.ts +0 -121
  379. package/src/otel/fetch.ts +0 -105
  380. package/src/otel/http.ts +0 -53
  381. package/src/otel/logger.ts +0 -293
  382. package/src/otel/otel.ts +0 -354
  383. package/src/otel/tracestate.ts +0 -108
  384. package/src/router.ts +0 -75
  385. package/src/services/evalrun/composite.ts +0 -34
  386. package/src/services/evalrun/http.ts +0 -167
  387. package/src/services/evalrun/index.ts +0 -4
  388. package/src/services/evalrun/json.ts +0 -46
  389. package/src/services/evalrun/local.ts +0 -28
  390. package/src/services/local/README.md +0 -1576
  391. package/src/services/local/_db.ts +0 -353
  392. package/src/services/local/_router.ts +0 -40
  393. package/src/services/local/_util.ts +0 -55
  394. package/src/services/local/email.ts +0 -91
  395. package/src/services/local/index.ts +0 -9
  396. package/src/services/local/keyvalue.ts +0 -174
  397. package/src/services/local/queue.ts +0 -145
  398. package/src/services/local/stream.ts +0 -358
  399. package/src/services/local/task.ts +0 -1711
  400. package/src/services/local/vector.ts +0 -438
  401. package/src/services/sandbox/http.ts +0 -522
  402. package/src/services/sandbox/index.ts +0 -1
  403. package/src/services/session/composite.ts +0 -33
  404. package/src/services/session/http.ts +0 -167
  405. package/src/services/session/index.ts +0 -4
  406. package/src/services/session/json.ts +0 -42
  407. package/src/services/session/local.ts +0 -33
  408. package/src/services/thread/local.ts +0 -199
  409. package/src/session.ts +0 -1960
  410. package/src/signature.ts +0 -82
  411. package/src/validator.ts +0 -283
  412. package/src/version-check.ts +0 -184
  413. package/src/web.ts +0 -76
  414. package/src/webrtc-signaling.ts +0 -288
  415. package/src/workbench.ts +0 -725
@@ -1,47 +0,0 @@
1
- import type { LogLevel } from '@agentuity/core';
2
- import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
3
- import { getServiceUrls } from '@agentuity/server';
4
- import * as runtimeConfig from '../_config';
5
- import type { OtelConfig, OtelResponse } from './otel';
6
- import { registerOtel } from './otel';
7
-
8
- /**
9
- * Configuration for user provided OpenTelemetry
10
- */
11
- export interface CustomizedOtelConfig {
12
- endpoint: string;
13
- // only supports http/json for now
14
- // protocol: 'grpc' | 'http/protobuf' | 'http/json';
15
- serviceName: string;
16
- resourceAttributes: Record<string, string>;
17
- headers: Record<string, string>;
18
- }
19
-
20
- interface OtelRegisterConfig {
21
- processors?: SpanProcessor[];
22
- logLevel?: LogLevel;
23
- }
24
-
25
- export function register(registerConfig: OtelRegisterConfig): OtelResponse {
26
- const region = process.env.AGENTUITY_REGION ?? 'usc';
27
- const serviceUrls = getServiceUrls(region);
28
- const url = serviceUrls.otel;
29
- const bearerToken = process.env.AGENTUITY_OTLP_BEARER_TOKEN ?? process.env.AGENTUITY_SDK_KEY;
30
- const config: OtelConfig = {
31
- spanProcessors: registerConfig.processors,
32
- name: runtimeConfig.getAppName(),
33
- version: runtimeConfig.getAppVersion(),
34
- cliVersion: runtimeConfig.getCLIVersion(),
35
- devmode: runtimeConfig.isDevMode(),
36
- orgId: runtimeConfig.getOrganizationId(),
37
- projectId: runtimeConfig.getProjectId(),
38
- deploymentId: runtimeConfig.getDeploymentId(),
39
- environment: runtimeConfig.getEnvironment(),
40
- logLevel: registerConfig.logLevel,
41
- jsonlBasePath: process.env.AGENTUITY_CLOUD_EXPORT_DIR,
42
- bearerToken,
43
- url,
44
- };
45
-
46
- return registerOtel(config);
47
- }
@@ -1,91 +0,0 @@
1
- import { SeverityNumber } from '@opentelemetry/api-logs';
2
- import { type ExportResult, ExportResultCode } from '@opentelemetry/core';
3
- import type { LogRecordExporter, ReadableLogRecord } from '@opentelemetry/sdk-logs';
4
- import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
5
- import { __originalConsole } from './logger';
6
-
7
- /**
8
- * Console implementation of the LogRecordExporter interface
9
- * Uses __originalConsole to avoid infinite loop when console is patched
10
- */
11
- export class ConsoleLogRecordExporter implements LogRecordExporter {
12
- private dumpRecords = false;
13
-
14
- constructor(dumpRecords: boolean) {
15
- this.dumpRecords = dumpRecords;
16
- }
17
- /**
18
- * Exports log records to the console
19
- *
20
- * @param logs - The log records to export
21
- * @param resultCallback - Callback function to report the export result
22
- */
23
- export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): void {
24
- for (const log of logs) {
25
- if (this.dumpRecords) {
26
- __originalConsole.log('[LOG]', {
27
- body: log.body,
28
- severityNumber: log.severityNumber,
29
- severityText: log.severityText,
30
- timestamp: log.hrTime,
31
- attributes: log.attributes,
32
- resource: log.resource.attributes,
33
- });
34
- } else {
35
- const severity = log.severityNumber ? SeverityNumber[log.severityNumber] : 'INFO';
36
- const msg = `[${severity}] ${log.body}`;
37
- switch (log.severityNumber) {
38
- case SeverityNumber.DEBUG:
39
- __originalConsole.debug(msg);
40
- break;
41
- case SeverityNumber.INFO:
42
- __originalConsole.info(msg);
43
- break;
44
- case SeverityNumber.WARN:
45
- __originalConsole.warn(msg);
46
- break;
47
- case SeverityNumber.ERROR:
48
- __originalConsole.error(msg);
49
- break;
50
- default:
51
- __originalConsole.log(msg);
52
- break;
53
- }
54
- }
55
- }
56
- resultCallback({ code: ExportResultCode.SUCCESS });
57
- }
58
-
59
- /**
60
- * Shuts down the exporter
61
- *
62
- * @returns A promise that resolves when shutdown is complete
63
- */
64
- shutdown(): Promise<void> {
65
- return Promise.resolve();
66
- }
67
- }
68
-
69
- /**
70
- * Console implementation of the SpanExporter interface
71
- * Uses __originalConsole to avoid infinite loop when console is patched
72
- */
73
- export class DebugSpanExporter implements SpanExporter {
74
- export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void {
75
- for (const span of spans) {
76
- __originalConsole.log('[SPAN]', {
77
- name: span.name,
78
- traceId: span.spanContext().traceId,
79
- spanId: span.spanContext().spanId,
80
- duration: span.duration,
81
- status: span.status,
82
- attributes: span.attributes,
83
- });
84
- }
85
- resultCallback({ code: ExportResultCode.SUCCESS });
86
- }
87
-
88
- shutdown(): Promise<void> {
89
- return Promise.resolve();
90
- }
91
- }
@@ -1,217 +0,0 @@
1
- # JSONL Exporters
2
-
3
- Custom OpenTelemetry exporters that write telemetry data (logs, traces, metrics) to JSONL (JSON Lines) files instead of sending directly to an OTLP endpoint.
4
-
5
- ## Overview
6
-
7
- These exporters write telemetry data to local files in JSONL format. Each line in the file represents a single telemetry item in JSON format. This allows for:
8
-
9
- 1. **Decoupled Processing**: Telemetry data is buffered locally and processed separately
10
- 2. **Reliability**: Data persists even if the OTLP endpoint is temporarily unavailable
11
- 3. **Batch Processing**: A separate cron job can read and send data in batches
12
- 4. **Easy Debugging**: JSONL files can be inspected directly
13
-
14
- ## How It Works
15
-
16
- ### 1. Writing Telemetry Data
17
-
18
- The exporters write telemetry data to timestamped JSONL files:
19
-
20
- - **Logs**: `./otel-data/logs-<timestamp>.jsonl`
21
- - **Traces**: `./otel-data/traces-<timestamp>.jsonl`
22
- - **Metrics**: `./otel-data/metrics-<timestamp>.jsonl`
23
-
24
- Files are named with an ISO timestamp (with colons and periods replaced by hyphens) to ensure uniqueness. The exporters will continue writing to the same file as long as it exists.
25
-
26
- ### 2. Reading and Forwarding Data (External Process)
27
-
28
- A separate cron job (recommended: every 30 seconds) should:
29
-
30
- 1. Read the JSONL files
31
- 2. Parse each line as a JSON object
32
- 3. Send the telemetry data to your OTLP endpoint
33
- 4. Delete the file after successful transmission
34
-
35
- This decouples the application from the OTLP endpoint and provides resilience.
36
-
37
- ## Configuration
38
-
39
- ### Enabling JSONL Exporters
40
-
41
- By default, JSONL exporters are enabled. You can configure them via the `OtelConfig`:
42
-
43
- ```typescript
44
- import { registerOtel } from '@agentuity/runtime/otel';
45
-
46
- registerOtel({
47
- name: 'my-app',
48
- version: '1.0.0',
49
- url: 'https://otel.example.com',
50
- useJsonlExporter: true, // Enable JSONL exporters (default: true)
51
- jsonlBasePath: './.agentuity/otel-data', // Directory for JSONL files
52
- });
53
- ```
54
-
55
- ### Disabling JSONL Exporters
56
-
57
- To use the original OTLP exporters (direct network calls):
58
-
59
- ```typescript
60
- registerOtel({
61
- name: 'my-app',
62
- version: '1.0.0',
63
- url: 'https://otel.example.com',
64
- useJsonlExporter: false, // Disable JSONL, use OTLP directly
65
- });
66
- ```
67
-
68
- ## File Format
69
-
70
- ### Logs
71
-
72
- Each log entry contains:
73
-
74
- ```json
75
- {
76
- "timestamp": [seconds, nanoseconds],
77
- "observedTimestamp": [seconds, nanoseconds],
78
- "severityNumber": 9,
79
- "severityText": "INFO",
80
- "body": "Log message",
81
- "attributes": { "key": "value" },
82
- "resource": { "@agentuity/orgId": "...", ... },
83
- "instrumentationScope": { "name": "...", "version": "..." },
84
- "spanContext": { "traceId": "...", "spanId": "...", ... }
85
- }
86
- ```
87
-
88
- ### Traces
89
-
90
- Each span contains:
91
-
92
- ```json
93
- {
94
- "traceId": "...",
95
- "spanId": "...",
96
- "traceState": "...",
97
- "name": "operation-name",
98
- "kind": 1,
99
- "startTime": [seconds, nanoseconds],
100
- "endTime": [seconds, nanoseconds],
101
- "attributes": { "key": "value" },
102
- "status": { "code": 0 },
103
- "events": [],
104
- "links": [],
105
- "resource": { "@agentuity/orgId": "...", ... },
106
- "droppedAttributesCount": 0,
107
- "droppedEventsCount": 0,
108
- "droppedLinksCount": 0,
109
- "duration": [seconds, nanoseconds],
110
- "ended": true
111
- }
112
- ```
113
-
114
- ### Metrics
115
-
116
- Each metric batch contains:
117
-
118
- ```json
119
- {
120
- "resource": { "@agentuity/orgId": "...", ... },
121
- "scopeMetrics": [
122
- {
123
- "scope": { "name": "...", "version": "..." },
124
- "metrics": [
125
- {
126
- "descriptor": { "name": "...", "description": "...", ... },
127
- "dataPointType": 0,
128
- "dataPoints": [...],
129
- "aggregationTemporality": 1
130
- }
131
- ]
132
- }
133
- ]
134
- }
135
- ```
136
-
137
- ## Example Cron Job
138
-
139
- Here's an example script that reads JSONL files and forwards them to OTLP:
140
-
141
- ```typescript
142
- #!/usr/bin/env bun
143
-
144
- import { readdir, readFile, unlink } from 'node:fs/promises';
145
- import { join } from 'node:path';
146
-
147
- const OTEL_ENDPOINT = process.env.OTEL_ENDPOINT || 'https://otel.agentuity.cloud';
148
- const OTEL_TOKEN = process.env.OTEL_TOKEN;
149
- const DATA_DIR = process.env.DATA_DIR || './.agentuity/otel-data';
150
-
151
- async function processFiles() {
152
- const files = await readdir(DATA_DIR);
153
-
154
- for (const file of files) {
155
- if (file.endsWith('.jsonl')) {
156
- const filePath = join(DATA_DIR, file);
157
- const content = await readFile(filePath, 'utf-8');
158
- const lines = content.trim().split('\n');
159
-
160
- const type = file.startsWith('logs-')
161
- ? 'logs'
162
- : file.startsWith('traces-')
163
- ? 'traces'
164
- : 'metrics';
165
-
166
- try {
167
- // Send to OTLP endpoint
168
- await fetch(`${OTEL_ENDPOINT}/v1/${type}`, {
169
- method: 'POST',
170
- headers: {
171
- 'Content-Type': 'application/json',
172
- Authorization: `Bearer ${OTEL_TOKEN}`,
173
- },
174
- body: JSON.stringify({ [type]: lines.map((line) => JSON.parse(line)) }),
175
- });
176
-
177
- // Delete file after successful transmission
178
- await unlink(filePath);
179
- console.log(`Processed and deleted ${file}`);
180
- } catch (error) {
181
- console.error(`Failed to process ${file}:`, error);
182
- // Don't delete the file on error, will retry next time
183
- }
184
- }
185
- }
186
- }
187
-
188
- processFiles().catch(console.error);
189
- ```
190
-
191
- Add this to your crontab to run every 30 seconds:
192
-
193
- ```bash
194
- * * * * * /path/to/process-otel-data.ts
195
- * * * * * sleep 30 && /path/to/process-otel-data.ts
196
- ```
197
-
198
- ## Exporters
199
-
200
- ### JSONLLogExporter
201
-
202
- Implements `LogRecordExporter` interface.
203
-
204
- ### JSONLTraceExporter
205
-
206
- Implements `SpanExporter` interface.
207
-
208
- ### JSONLMetricExporter
209
-
210
- Implements `PushMetricExporter` interface.
211
-
212
- ## Notes
213
-
214
- - Files are written synchronously using `appendFileSync` for simplicity and reliability
215
- - File existence is checked before each write, creating a new file if necessary
216
- - Timestamps in filenames use ISO format with special characters replaced by hyphens
217
- - The exporters handle errors gracefully and report them via the callback mechanism
@@ -1,3 +0,0 @@
1
- export { JSONLLogExporter } from './jsonl-log-exporter';
2
- export { JSONLTraceExporter } from './jsonl-trace-exporter';
3
- export { JSONLMetricExporter } from './jsonl-metric-exporter';
@@ -1,113 +0,0 @@
1
- import { type ExportResult, ExportResultCode } from '@opentelemetry/core';
2
- import type { LogRecordExporter, ReadableLogRecord } from '@opentelemetry/sdk-logs';
3
- import { existsSync, appendFileSync, mkdirSync } from 'node:fs';
4
- import { join } from 'node:path';
5
- import { randomUUID } from 'node:crypto';
6
-
7
- /**
8
- * JSONL implementation of the LogRecordExporter interface
9
- * Writes logs to a timestamped JSONL file
10
- */
11
- export class JSONLLogExporter implements LogRecordExporter {
12
- private currentFile: string | null = null;
13
- private readonly basePath: string;
14
- private readonly filePrefix: string;
15
-
16
- /**
17
- * Creates a new JSONL log record exporter
18
- * @param basePath - Directory to store the JSONL files
19
- */
20
- constructor(basePath: string) {
21
- this.basePath = basePath;
22
- this.filePrefix = 'otel-log';
23
- this.ensureDirectory();
24
- }
25
-
26
- private ensureDirectory(): void {
27
- if (!existsSync(this.basePath)) {
28
- mkdirSync(this.basePath, { recursive: true });
29
- }
30
- }
31
-
32
- private getOrCreateFile(): string {
33
- // If current file exists, use it
34
- if (this.currentFile && existsSync(this.currentFile)) {
35
- return this.currentFile;
36
- }
37
-
38
- this.currentFile = join(
39
- this.basePath,
40
- `${this.filePrefix}-${Date.now()}.${randomUUID()}.jsonl`
41
- );
42
- return this.currentFile;
43
- }
44
-
45
- /**
46
- * Exports log records to a JSONL file
47
- *
48
- * @param logs - The log records to export
49
- * @param resultCallback - Callback function to report the export result
50
- */
51
- export(logs: ReadableLogRecord[], resultCallback: (result: ExportResult) => void): void {
52
- try {
53
- if (logs.length === 0) {
54
- resultCallback({ code: ExportResultCode.SUCCESS });
55
- return;
56
- }
57
- const file = this.getOrCreateFile();
58
- const lines: string[] = [];
59
- for (const log of logs) {
60
- const record = {
61
- timestamp: log.hrTime,
62
- observedTimestamp: log.hrTimeObserved,
63
- severityNumber: log.severityNumber,
64
- severityText: log.severityText,
65
- body: log.body,
66
- attributes: log.attributes,
67
- resource: log.resource.attributes,
68
- instrumentationScope: log.instrumentationScope,
69
- spanContext: log.spanContext,
70
- };
71
-
72
- lines.push(JSON.stringify(record));
73
- }
74
- const payload = `${lines.join('\n')}\n`;
75
- try {
76
- appendFileSync(file, payload, 'utf-8');
77
- } catch (err) {
78
- // File may have been deleted, reset and retry once
79
- const code = (err as NodeJS.ErrnoException).code;
80
- if (code === 'ENOENT') {
81
- this.currentFile = null;
82
- const newFile = this.getOrCreateFile();
83
- appendFileSync(newFile, payload, 'utf-8');
84
- } else {
85
- throw err;
86
- }
87
- }
88
-
89
- resultCallback({ code: ExportResultCode.SUCCESS });
90
- } catch (error) {
91
- resultCallback({
92
- code: ExportResultCode.FAILED,
93
- error: error instanceof Error ? error : new Error(String(error)),
94
- });
95
- }
96
- }
97
-
98
- /**
99
- * Shuts down the exporter
100
- *
101
- * @returns A promise that resolves when shutdown is complete
102
- */
103
- async shutdown(): Promise<void> {
104
- this.currentFile = null;
105
- }
106
-
107
- /**
108
- * Forces a flush of any pending data
109
- */
110
- async forceFlush(): Promise<void> {
111
- // No-op for file-based exporter as writes are synchronous
112
- }
113
- }
@@ -1,120 +0,0 @@
1
- import { type ExportResult, ExportResultCode } from '@opentelemetry/core';
2
- import {
3
- type PushMetricExporter,
4
- type ResourceMetrics,
5
- AggregationTemporality,
6
- InstrumentType,
7
- } from '@opentelemetry/sdk-metrics';
8
- import { existsSync, appendFileSync, mkdirSync } from 'node:fs';
9
- import { join } from 'node:path';
10
- import { randomUUID } from 'node:crypto';
11
-
12
- /**
13
- * JSONL implementation of the PushMetricExporter interface
14
- * Writes metrics to a timestamped JSONL file
15
- */
16
- export class JSONLMetricExporter implements PushMetricExporter {
17
- private currentFile: string | null = null;
18
- private readonly basePath: string;
19
- private readonly filePrefix: string;
20
-
21
- /**
22
- * Creates a new JSONL metric exporter
23
- * @param basePath - Directory to store the JSONL files
24
- */
25
- constructor(basePath: string) {
26
- this.basePath = basePath;
27
- this.filePrefix = 'otel-metric';
28
- this.ensureDirectory();
29
- }
30
-
31
- private ensureDirectory(): void {
32
- if (!existsSync(this.basePath)) {
33
- mkdirSync(this.basePath, { recursive: true });
34
- }
35
- }
36
-
37
- private getOrCreateFile(): string {
38
- // If current file exists, use it
39
- if (this.currentFile && existsSync(this.currentFile)) {
40
- return this.currentFile;
41
- }
42
-
43
- this.currentFile = join(
44
- this.basePath,
45
- `${this.filePrefix}-${Date.now()}.${randomUUID()}.jsonl`
46
- );
47
- return this.currentFile;
48
- }
49
-
50
- /**
51
- * Exports metrics to a JSONL file
52
- *
53
- * @param metrics - The resource metrics to export
54
- * @param resultCallback - Callback function to report the export result
55
- */
56
- export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): void {
57
- try {
58
- const file = this.getOrCreateFile();
59
-
60
- const record = {
61
- resource: metrics.resource.attributes,
62
- scopeMetrics: metrics.scopeMetrics.map((sm) => ({
63
- scope: sm.scope,
64
- metrics: sm.metrics.map((m) => ({
65
- descriptor: m.descriptor,
66
- dataPointType: m.dataPointType,
67
- dataPoints: m.dataPoints,
68
- aggregationTemporality: m.aggregationTemporality,
69
- })),
70
- })),
71
- };
72
-
73
- const line = JSON.stringify(record) + '\n';
74
- try {
75
- appendFileSync(file, line, 'utf-8');
76
- } catch (err) {
77
- // File may have been deleted, reset and retry once
78
- const code = (err as NodeJS.ErrnoException).code;
79
- if (code === 'ENOENT') {
80
- this.currentFile = null;
81
- const newFile = this.getOrCreateFile();
82
- appendFileSync(newFile, line, 'utf-8');
83
- } else {
84
- throw err;
85
- }
86
- }
87
-
88
- resultCallback({ code: ExportResultCode.SUCCESS });
89
- } catch (error) {
90
- resultCallback({
91
- code: ExportResultCode.FAILED,
92
- error: error instanceof Error ? error : new Error(String(error)),
93
- });
94
- }
95
- }
96
-
97
- /**
98
- * Shuts down the exporter
99
- *
100
- * @returns A promise that resolves when shutdown is complete
101
- */
102
- async shutdown(): Promise<void> {
103
- this.currentFile = null;
104
- }
105
-
106
- /**
107
- * Forces a flush of any pending data
108
- */
109
- async forceFlush(): Promise<void> {
110
- // No-op for file-based exporter as writes are synchronous
111
- }
112
-
113
- /**
114
- * Selects the aggregation temporality for the given instrument type
115
- */
116
- selectAggregationTemporality?(_instrumentType: InstrumentType): AggregationTemporality {
117
- // Default to cumulative temporality
118
- return AggregationTemporality.CUMULATIVE;
119
- }
120
- }