@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
package/src/otel/otel.ts DELETED
@@ -1,354 +0,0 @@
1
- import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
2
- import { BatchSpanProcessor, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
3
- import opentelemetry, { type Meter, metrics, propagation, type Tracer } from '@opentelemetry/api';
4
- import * as LogsAPI from '@opentelemetry/api-logs';
5
- import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
6
- import {
7
- CompositePropagator,
8
- W3CBaggagePropagator,
9
- W3CTraceContextPropagator,
10
- } from '@opentelemetry/core';
11
- import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
12
- import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
13
- import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
14
- import { HostMetrics } from '@opentelemetry/host-metrics';
15
- import { CompressionAlgorithm } from '@opentelemetry/otlp-exporter-base';
16
- import { resourceFromAttributes } from '@opentelemetry/resources';
17
- import type { Resource } from '@opentelemetry/resources';
18
- import {
19
- BatchLogRecordProcessor,
20
- LoggerProvider,
21
- type LogRecordProcessor,
22
- SimpleLogRecordProcessor,
23
- } from '@opentelemetry/sdk-logs';
24
- import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
25
- import { NodeSDK } from '@opentelemetry/sdk-node';
26
- import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
27
- import type { Logger } from '../logger';
28
- import { ConsoleLogRecordExporter, DebugSpanExporter } from './console';
29
- import { instrumentFetch } from './fetch';
30
- import { createLogger, patchConsole } from './logger';
31
- import { getSDKVersion, isAuthenticated } from '../_config';
32
- import type { LogLevel } from '@agentuity/core';
33
- import { JSONLLogExporter, JSONLTraceExporter, JSONLMetricExporter } from './exporters';
34
-
35
- /**
36
- * Configuration for OpenTelemetry initialization
37
- */
38
- export interface OtelConfig {
39
- url?: string;
40
- name: string;
41
- version: string;
42
- bearerToken?: string;
43
- orgId?: string;
44
- projectId?: string;
45
- deploymentId?: string;
46
- environment?: string;
47
- cliVersion?: string;
48
- devmode?: boolean;
49
- spanProcessors?: Array<SpanProcessor>;
50
- logLevel?: LogLevel;
51
- jsonlBasePath?: string;
52
- }
53
-
54
- /**
55
- * Response from OpenTelemetry initialization
56
- */
57
- export interface OtelResponse {
58
- tracer: Tracer;
59
- meter: Meter;
60
- logger: Logger;
61
- shutdown: () => Promise<void>;
62
- }
63
-
64
- const devmodeExportInterval = 1_000; // 1 second
65
- const productionExportInterval = 10_000; // 10 seconds
66
-
67
- export const createResource = (config: OtelConfig): Resource => {
68
- const { name, version, orgId, projectId, deploymentId, environment, devmode, cliVersion } =
69
- config;
70
-
71
- const sdkVersion = getSDKVersion();
72
-
73
- return resourceFromAttributes({
74
- [ATTR_SERVICE_NAME]: name,
75
- [ATTR_SERVICE_VERSION]: version,
76
- '@agentuity/orgId': orgId ?? 'unknown',
77
- '@agentuity/projectId': projectId ?? 'unknown',
78
- '@agentuity/deploymentId': deploymentId ?? 'unknown',
79
- '@agentuity/env': environment,
80
- '@agentuity/devmode': devmode,
81
- '@agentuity/sdkVersion': sdkVersion ?? 'unknown',
82
- '@agentuity/cliVersion': cliVersion ?? 'unknown',
83
- });
84
- };
85
-
86
- export const createAgentuityLoggerProvider = ({
87
- url,
88
- headers,
89
- resource,
90
- jsonlBasePath,
91
- useConsoleExporters,
92
- }: {
93
- url?: string;
94
- headers?: Record<string, string>;
95
- resource: Resource;
96
- logLevel: LogLevel;
97
- jsonlBasePath?: string;
98
- useConsoleExporters: boolean;
99
- }) => {
100
- let processor: LogRecordProcessor;
101
- let exporter: OTLPLogExporter | JSONLLogExporter | undefined;
102
-
103
- if (useConsoleExporters) {
104
- processor = new SimpleLogRecordProcessor(new ConsoleLogRecordExporter(true));
105
- } else if (jsonlBasePath) {
106
- exporter = new JSONLLogExporter(jsonlBasePath);
107
- processor = new BatchLogRecordProcessor(exporter);
108
- } else if (url) {
109
- // Original OTLP export behavior
110
- const otlpExporter = new OTLPLogExporter({
111
- url: `${url}/v1/logs`,
112
- headers,
113
- compression: CompressionAlgorithm.GZIP,
114
- timeoutMillis: 10_000,
115
- });
116
- exporter = otlpExporter;
117
- processor = new BatchLogRecordProcessor(otlpExporter);
118
- } else {
119
- processor = new SimpleLogRecordProcessor(new ConsoleLogRecordExporter(false));
120
- }
121
- const provider = new LoggerProvider({
122
- resource,
123
- processors: [processor],
124
- });
125
- LogsAPI.logs.setGlobalLoggerProvider(provider);
126
-
127
- return {
128
- processor,
129
- provider,
130
- exporter,
131
- };
132
- };
133
-
134
- export const createUserLoggerProvider = ({
135
- url,
136
- headers,
137
- resource,
138
- }: {
139
- url: string;
140
- headers?: Record<string, string>;
141
- resource: Resource;
142
- }) => {
143
- const exporter = new OTLPLogExporter({
144
- url: `${url}/v1/logs`,
145
- headers,
146
- compression: CompressionAlgorithm.GZIP,
147
- timeoutMillis: 10_000,
148
- });
149
- const processor = new BatchLogRecordProcessor(exporter);
150
- const provider = new LoggerProvider({
151
- resource,
152
- processors: [processor],
153
- });
154
- return {
155
- provider,
156
- exporter,
157
- processor,
158
- };
159
- };
160
-
161
- import { otel as otelGlobal } from '../_globals';
162
-
163
- /**
164
- * Registers and initializes OpenTelemetry with the specified configuration.
165
- *
166
- * Idempotent: if called again (e.g. during bun --hot reload), the previous
167
- * instance is shut down before creating a new one.
168
- *
169
- * @param config - The configuration for OpenTelemetry
170
- * @returns An object containing the tracer, logger, and shutdown function
171
- */
172
- export function registerOtel(config: OtelConfig): OtelResponse {
173
- // Shut down previous instance if this is a hot reload
174
- const previous = otelGlobal.get();
175
- if (previous) {
176
- previous.shutdown().catch(() => {});
177
- }
178
- const {
179
- url,
180
- name,
181
- version,
182
- bearerToken,
183
- environment = 'development',
184
- orgId,
185
- projectId,
186
- deploymentId,
187
- devmode = false,
188
- logLevel = 'warn',
189
- jsonlBasePath = undefined,
190
- } = config;
191
-
192
- let headers: Record<string, string> | undefined;
193
-
194
- if (bearerToken) {
195
- headers = {};
196
- headers.Authorization = `Bearer ${bearerToken}`;
197
- }
198
-
199
- // use console debug exporters for local debugging
200
- const useConsoleExporters = process.env.AGENTUITY_DEBUG_OTEL_CONSOLE === 'true';
201
-
202
- const resource = createResource(config);
203
- const loggerProvider = createAgentuityLoggerProvider({
204
- url,
205
- headers,
206
- resource,
207
- logLevel,
208
- jsonlBasePath,
209
- useConsoleExporters,
210
- });
211
- const attrs = {
212
- '@agentuity/orgId': orgId ?? 'unknown',
213
- '@agentuity/projectId': projectId ?? 'unknown',
214
- '@agentuity/deploymentId': deploymentId ?? 'unknown',
215
- '@agentuity/env': environment,
216
- '@agentuity/devmode': devmode,
217
- '@agentuity/language': 'javascript',
218
- };
219
- const logger = createLogger(!!url, attrs, logLevel);
220
-
221
- // must do this after we have created the logger
222
- // don't patch console if we're using console exporters (to avoid double logging)
223
- if (!useConsoleExporters) {
224
- patchConsole(!!url, attrs, logLevel);
225
- }
226
-
227
- // Build trace exporter (OTLP or JSONL)
228
- const traceExporter = jsonlBasePath
229
- ? new JSONLTraceExporter(jsonlBasePath)
230
- : url
231
- ? new OTLPTraceExporter({
232
- url: `${url}/v1/traces`,
233
- headers,
234
- keepAlive: true,
235
- compression: CompressionAlgorithm.GZIP,
236
- })
237
- : undefined;
238
-
239
- // Build metric exporter (OTLP or JSONL)
240
- const metricExporter = jsonlBasePath
241
- ? new JSONLMetricExporter(jsonlBasePath)
242
- : url
243
- ? new OTLPMetricExporter({
244
- url: `${url}/v1/metrics`,
245
- headers,
246
- keepAlive: true,
247
- compression: CompressionAlgorithm.GZIP,
248
- })
249
- : undefined;
250
-
251
- // Create span processors
252
- const spanProcessors: SpanProcessor[] = [];
253
-
254
- // Add OTLP/JSONL span processor if we have an exporter
255
- if (traceExporter) {
256
- spanProcessors.push(new BatchSpanProcessor(traceExporter));
257
- }
258
-
259
- // Add debug span processor if console debugging is enabled
260
- if (useConsoleExporters) {
261
- spanProcessors.push(new SimpleSpanProcessor(new DebugSpanExporter()));
262
- }
263
-
264
- // Create a separate metric reader for the NodeSDK
265
- const sdkMetricReader = metricExporter
266
- ? new PeriodicExportingMetricReader({
267
- exporter: metricExporter,
268
- exportTimeoutMillis: devmode ? devmodeExportInterval : productionExportInterval,
269
- exportIntervalMillis: devmode ? devmodeExportInterval : productionExportInterval,
270
- })
271
- : undefined;
272
-
273
- // Create a separate metric reader for the MeterProvider
274
- const hostMetricReader = metricExporter
275
- ? new PeriodicExportingMetricReader({
276
- exporter: metricExporter,
277
- exportTimeoutMillis: devmode ? devmodeExportInterval : productionExportInterval,
278
- exportIntervalMillis: devmode ? devmodeExportInterval : productionExportInterval,
279
- })
280
- : undefined;
281
-
282
- const meterProvider = hostMetricReader
283
- ? new MeterProvider({
284
- resource,
285
- readers: [hostMetricReader],
286
- })
287
- : undefined;
288
-
289
- if (meterProvider) {
290
- metrics.setGlobalMeterProvider(meterProvider);
291
- }
292
-
293
- const hostMetrics = meterProvider ? new HostMetrics({ meterProvider }) : undefined;
294
-
295
- let running = false;
296
- let instrumentationSDK: NodeSDK | undefined;
297
-
298
- if (url || useConsoleExporters) {
299
- const propagator = new CompositePropagator({
300
- propagators: [new W3CTraceContextPropagator(), new W3CBaggagePropagator()],
301
- });
302
- propagation.setGlobalPropagator(propagator);
303
-
304
- instrumentFetch();
305
-
306
- // Combine custom span processors with our span processors
307
- const allSpanProcessors = [...spanProcessors, ...(config.spanProcessors || [])];
308
-
309
- instrumentationSDK = new NodeSDK({
310
- logRecordProcessor: loggerProvider.processor,
311
- metricReader: sdkMetricReader,
312
- instrumentations: [getNodeAutoInstrumentations()],
313
- resource,
314
- textMapPropagator: propagator,
315
- spanProcessors: allSpanProcessors,
316
- });
317
- instrumentationSDK.start();
318
- hostMetrics?.start();
319
-
320
- logger.debug('Telemetry configured successfully');
321
- logger.debug('Sending telemetry data to %s', url);
322
- running = true;
323
- }
324
-
325
- const tracer = opentelemetry.trace.getTracer(name, version);
326
- const meter = metrics.getMeter(name, version);
327
-
328
- const shutdown = async () => {
329
- if (running) {
330
- running = false;
331
- logger.debug('shutting down OpenTelemetry');
332
- await loggerProvider.provider
333
- .forceFlush()
334
- .catch((e) => logger.warn('error in forceFlush of otel provider. %s', e));
335
- await loggerProvider.exporter
336
- ?.shutdown()
337
- .catch((e) => !devmode && logger.warn('error in shutdown of otel exporter. %s', e));
338
- await instrumentationSDK
339
- ?.shutdown()
340
- .catch(
341
- (e) => !devmode && logger.warn('error in shutdown of otel instrumentation. %s', e)
342
- );
343
- logger.debug('shut down OpenTelemetry');
344
- }
345
- };
346
-
347
- if (url && isAuthenticated()) {
348
- logger.info('connected to Agentuity Agent Cloud');
349
- }
350
-
351
- const instance: OtelResponse = { tracer, meter, logger, shutdown };
352
- otelGlobal.set(instance);
353
- return instance;
354
- }
@@ -1,108 +0,0 @@
1
- import { trace, TraceFlags, type Context } from '@opentelemetry/api';
2
- import { TraceState } from '@opentelemetry/core';
3
-
4
- /**
5
- * Entries to set on the W3C tracestate header. Each key-value pair is added
6
- * to the parent context's existing traceState (if any). Values that are
7
- * `undefined` or empty strings are skipped.
8
- */
9
- export type TraceStateEntries = Record<string, string | undefined>;
10
-
11
- /**
12
- * Build a context whose span context carries an enriched W3C traceState.
13
- *
14
- * The returned context is intended to be passed as the **parent context**
15
- * to `tracer.startActiveSpan(name, opts, enrichedCtx, fn)` or
16
- * `tracer.startSpan(name, opts, enrichedCtx)`. Because the OTel SDK
17
- * copies `traceState` from a *valid* parent span context into every new
18
- * child span, the recording span that gets exported to OTLP will carry the
19
- * enriched traceState — making it visible in backends like ClickHouse.
20
- *
21
- * ### How it works
22
- *
23
- * 1. If the supplied `parentContext` already contains a span with a valid
24
- * span context (e.g. from an incoming `traceparent` header), we enrich
25
- * that span context's traceState and wrap it in a `NonRecordingSpan`.
26
- *
27
- * 2. If there is **no** valid parent span (e.g. no incoming `traceparent`),
28
- * we synthesise a minimal remote span context with a freshly generated
29
- * traceId. The OTel SDK will treat this as a valid remote parent,
30
- * inherit both the traceId **and** the traceState, and mark the new
31
- * span as a continuation of that trace.
32
- *
33
- * @param parentContext The context to enrich (typically `context.active()`).
34
- * @param entries Key-value pairs to merge into the traceState.
35
- * @returns A new `Context` ready to be used as a parent for span creation.
36
- */
37
- export function enrichContextWithTraceState(
38
- parentContext: Context,
39
- entries: TraceStateEntries
40
- ): Context {
41
- const parentSpan = trace.getSpan(parentContext);
42
- const parentSctx = parentSpan?.spanContext();
43
-
44
- // Start from any existing traceState on the parent, or a fresh one.
45
- let traceState = parentSctx?.traceState ?? new TraceState();
46
-
47
- // Merge caller-supplied entries.
48
- for (const [key, value] of Object.entries(entries)) {
49
- if (value !== undefined && value !== '') {
50
- traceState = traceState.set(key, value);
51
- }
52
- }
53
-
54
- if (parentSctx && trace.isSpanContextValid(parentSctx)) {
55
- // The parent already has a valid traceId/spanId (e.g. from an
56
- // incoming request with `traceparent`). We just need to update
57
- // its traceState.
58
- return trace.setSpan(
59
- parentContext,
60
- trace.wrapSpanContext({
61
- ...parentSctx,
62
- traceState,
63
- })
64
- );
65
- }
66
-
67
- // No valid parent — synthesise a remote parent so the OTel SDK
68
- // considers the span context valid and copies traceState to the child.
69
- return trace.setSpan(
70
- parentContext,
71
- trace.wrapSpanContext({
72
- traceId: generateTraceId(),
73
- spanId: generateSpanId(),
74
- traceFlags: TraceFlags.SAMPLED,
75
- isRemote: true,
76
- traceState,
77
- })
78
- );
79
- }
80
-
81
- // ── ID generation helpers ────────────────────────────────────────────
82
-
83
- /**
84
- * Generate a random 32-hex-char trace ID (16 bytes).
85
- * Uses the Web Crypto API which is available in Bun and Node 20+.
86
- */
87
- export function generateTraceId(): string {
88
- const bytes = new Uint8Array(16);
89
- crypto.getRandomValues(bytes);
90
- return hexFromBytes(bytes);
91
- }
92
-
93
- /**
94
- * Generate a random 16-hex-char span ID (8 bytes).
95
- */
96
- export function generateSpanId(): string {
97
- const bytes = new Uint8Array(8);
98
- crypto.getRandomValues(bytes);
99
- return hexFromBytes(bytes);
100
- }
101
-
102
- function hexFromBytes(bytes: Uint8Array): string {
103
- let hex = '';
104
- for (let i = 0; i < bytes.length; i++) {
105
- hex += (bytes[i] as number).toString(16).padStart(2, '0');
106
- }
107
- return hex;
108
- }
package/src/router.ts DELETED
@@ -1,75 +0,0 @@
1
- import { Hono, type Env as HonoEnv, type Schema } from 'hono';
2
- import type { BlankSchema } from 'hono/types';
3
- import type { Env } from './app';
4
-
5
- // Re-export both Env types
6
- export type { Env };
7
- export type { HonoEnv };
8
-
9
- // Re-export WebSocketConnection from handlers
10
- export type { WebSocketConnection } from './handlers/websocket';
11
-
12
- // Module augmentation to extend Hono types for Agentuity runtime
13
- declare module 'hono' {
14
- // Extend Context with waitUntil for route handlers
15
- interface Context {
16
- /**
17
- * Schedule a background task that runs after the response is sent.
18
- * Works the same as `ctx.waitUntil()` in agent handlers.
19
- *
20
- * @example
21
- * ```typescript
22
- * router.post('/data', async (c) => {
23
- * c.waitUntil(async () => {
24
- * await sendAnalytics(c.req.url);
25
- * });
26
- * return c.json({ success: true });
27
- * });
28
- * ```
29
- */
30
- waitUntil(callback: Promise<void> | (() => void | Promise<void>)): void;
31
- }
32
- }
33
-
34
- /**
35
- * Creates a Hono router for use with Agentuity.
36
- *
37
- * This is a thin wrapper around `new Hono()` that provides the correct
38
- * Agentuity environment types. Hono's full type inference chain is
39
- * preserved — the Schema type parameter accumulates route definitions
40
- * as you chain `.get()`, `.post()`, etc.
41
- *
42
- * @template E - Environment type (defaults to Agentuity's Env)
43
- * @template S - Schema type for route definitions
44
- *
45
- * @returns Hono router instance
46
- *
47
- * @example
48
- * ```typescript
49
- * import { createRouter, websocket, sse, stream, cron } from '@agentuity/runtime';
50
- *
51
- * const router = createRouter();
52
- *
53
- * // Standard HTTP routes — full type inference
54
- * router.get('/hello', (c) => c.text('Hello!'));
55
- * router.post('/data', async (c) => {
56
- * const body = await c.req.json();
57
- * return c.json({ received: body });
58
- * });
59
- *
60
- * // WebSocket connection
61
- * router.get('/ws', websocket((c, ws) => {
62
- * ws.onMessage((event) => {
63
- * ws.send('Echo: ' + event.data);
64
- * });
65
- * }));
66
- *
67
- * // Server-Sent Events
68
- * router.get('/events', sse((c, stream) => {
69
- * stream.writeSSE({ data: 'Hello', event: 'message' });
70
- * }));
71
- * ```
72
- */
73
- export const createRouter = <E extends Env = Env, S extends Schema = BlankSchema>(): Hono<E, S> => {
74
- return new Hono<E, S>();
75
- };
@@ -1,34 +0,0 @@
1
- import {
2
- type EvalRunEventProvider,
3
- type EvalRunStartEvent,
4
- type EvalRunCompleteEvent,
5
- } from '@agentuity/core';
6
-
7
- /**
8
- * An implementation of the EvalRunEventProvider which wraps multiple providers
9
- */
10
- export class CompositeEvalRunEventProvider implements EvalRunEventProvider {
11
- private providers: EvalRunEventProvider[];
12
-
13
- constructor(...providers: EvalRunEventProvider[]) {
14
- this.providers = providers;
15
- }
16
-
17
- /**
18
- * called when the eval run starts
19
- *
20
- * @param event EvalRunStartEvent
21
- */
22
- async start(event: EvalRunStartEvent): Promise<void> {
23
- await Promise.allSettled(this.providers.map((provider) => provider.start(event)));
24
- }
25
-
26
- /**
27
- * called when the eval run completes
28
- *
29
- * @param event EvalRunCompleteEvent
30
- */
31
- async complete(event: EvalRunCompleteEvent): Promise<void> {
32
- await Promise.allSettled(this.providers.map((provider) => provider.complete(event)));
33
- }
34
- }