@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/dist/_tokens.js DELETED
@@ -1,97 +0,0 @@
1
- import { inAgentContext, inHTTPContext, getHTTPContext } from './_context';
2
- import { ATTR_GEN_AI_SYSTEM, ATTR_GEN_AI_RESPONSE_MODEL, ATTR_GEN_AI_USAGE_INPUT_TOKENS, ATTR_GEN_AI_USAGE_OUTPUT_TOKENS, } from '@opentelemetry/semantic-conventions/incubating';
3
- export const TOKENS_HEADER = 'x-agentuity-tokens';
4
- export const DURATION_HEADER = 'x-agentuity-duration';
5
- // AI SDK span names: ai.generateText, ai.streamText, ai.generateObject, ai.streamObject, ai.embed, ai.embedMany
6
- const AI_SDK_SPAN_PREFIX = 'ai.';
7
- const AI_SDK_MODEL_NAME = 'ai.model.id';
8
- const AI_SDK_USAGE_PROMPT_TOKENS = 'ai.usage.promptTokens';
9
- const AI_SDK_USAGE_COMPLETION_TOKENS = 'ai.usage.completionTokens';
10
- const parseTokenHeader = (val) => {
11
- const kv = new Map();
12
- if (val) {
13
- // format is: [model]:[count] [model:count]
14
- const tok = val.split(' ');
15
- for (const entry of tok) {
16
- const [name, count] = entry.split(':');
17
- if (name) {
18
- kv.set(name, parseInt(count ?? '0', 10) ?? 0);
19
- }
20
- }
21
- }
22
- return kv;
23
- };
24
- const serializeTokenHeader = (kv) => {
25
- const lines = [];
26
- for (const [k, v] of kv) {
27
- lines.push(`${k}:${v}`);
28
- }
29
- return lines.join(' ');
30
- };
31
- const getTokenValue = (val) => {
32
- if (val) {
33
- const v = val.valueOf();
34
- switch (typeof v) {
35
- case 'number':
36
- return v;
37
- case 'string':
38
- return parseInt(v, 10);
39
- default:
40
- }
41
- }
42
- return 0;
43
- };
44
- export class TokenSpanProcessor {
45
- onStart(_span, _context) {
46
- return;
47
- }
48
- onEnd(span) {
49
- if (inAgentContext() && inHTTPContext()) {
50
- const ctx = getHTTPContext();
51
- const tokenLine = ctx.res.headers.get(TOKENS_HEADER) ?? undefined;
52
- const tokens = parseTokenHeader(tokenLine);
53
- let mutated = false;
54
- // AI SDK uses ai.* span names but doesn't use the semantic attribute names
55
- if (span.name.startsWith(AI_SDK_SPAN_PREFIX) && AI_SDK_MODEL_NAME in span.attributes) {
56
- const model = span.attributes[AI_SDK_MODEL_NAME].toString();
57
- let totalTokens = tokens.get(model) ?? 0;
58
- if (AI_SDK_USAGE_PROMPT_TOKENS in span.attributes) {
59
- totalTokens += getTokenValue(span.attributes[AI_SDK_USAGE_PROMPT_TOKENS]);
60
- }
61
- if (AI_SDK_USAGE_COMPLETION_TOKENS in span.attributes) {
62
- totalTokens += getTokenValue(span.attributes[AI_SDK_USAGE_COMPLETION_TOKENS]);
63
- }
64
- if (totalTokens > 0) {
65
- tokens.set(model, totalTokens);
66
- mutated = true;
67
- }
68
- }
69
- else if (ATTR_GEN_AI_SYSTEM in span.attributes &&
70
- ATTR_GEN_AI_RESPONSE_MODEL in span.attributes) {
71
- // OpenTelemetry GenAI semantic conventions (used by build-time LLM instrumentation)
72
- const model = span.attributes[ATTR_GEN_AI_RESPONSE_MODEL].toString();
73
- let totalTokens = tokens.get(model) ?? 0;
74
- if (ATTR_GEN_AI_USAGE_INPUT_TOKENS in span.attributes) {
75
- totalTokens += getTokenValue(span.attributes[ATTR_GEN_AI_USAGE_INPUT_TOKENS]);
76
- }
77
- if (ATTR_GEN_AI_USAGE_OUTPUT_TOKENS in span.attributes) {
78
- totalTokens += getTokenValue(span.attributes[ATTR_GEN_AI_USAGE_OUTPUT_TOKENS]);
79
- }
80
- if (totalTokens > 0) {
81
- tokens.set(model, totalTokens);
82
- mutated = true;
83
- }
84
- }
85
- if (mutated) {
86
- ctx.header(TOKENS_HEADER, serializeTokenHeader(tokens));
87
- }
88
- }
89
- }
90
- forceFlush() {
91
- return Promise.resolve();
92
- }
93
- shutdown() {
94
- return Promise.resolve();
95
- }
96
- }
97
- //# sourceMappingURL=_tokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_tokens.js","sourceRoot":"","sources":["../src/_tokens.ts"],"names":[],"mappings":"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"}
package/dist/_util.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import type { Context } from 'hono';
2
- export declare function returnResponse(ctx: Context, result: unknown): Response;
3
- /**
4
- * SHA256 hash of the given values
5
- *
6
- * @param val one or more strings to hash
7
- * @returns hash string in hex format
8
- */
9
- export declare function hash(...val: string[]): string;
10
- /**
11
- * Safely stringify an object to JSON, handling circular references
12
- * @param obj - The object to stringify
13
- * @returns JSON string representation
14
- */
15
- export declare function safeStringify(obj: unknown): string;
16
- //# sourceMappingURL=_util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_util.d.ts","sourceRoot":"","sources":["../src/_util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,YAM3D;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAI7C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAkClD"}
package/dist/_util.js DELETED
@@ -1,54 +0,0 @@
1
- export function returnResponse(ctx, result) {
2
- if (result instanceof ReadableStream)
3
- return ctx.body(result);
4
- if (result instanceof Response)
5
- return result;
6
- if (typeof result === 'string')
7
- return ctx.text(result);
8
- if (typeof result === 'number' || typeof result === 'boolean')
9
- return ctx.text(String(result));
10
- return ctx.json(result);
11
- }
12
- /**
13
- * SHA256 hash of the given values
14
- *
15
- * @param val one or more strings to hash
16
- * @returns hash string in hex format
17
- */
18
- export function hash(...val) {
19
- const hasher = new Bun.CryptoHasher('sha256');
20
- val.map((val) => hasher.update(val));
21
- return hasher.digest().toHex();
22
- }
23
- /**
24
- * Safely stringify an object to JSON, handling circular references
25
- * @param obj - The object to stringify
26
- * @returns JSON string representation
27
- */
28
- export function safeStringify(obj) {
29
- const stack = [];
30
- function replacer(_key, value) {
31
- if (typeof value === 'bigint') {
32
- return value.toString();
33
- }
34
- if (typeof value === 'object' && value !== null) {
35
- // Check if this object is already in our ancestor chain
36
- if (stack.includes(value)) {
37
- return '[Circular]';
38
- }
39
- // Add to stack before processing
40
- stack.push(value);
41
- // Process the object
42
- const result = Array.isArray(value) ? [] : {};
43
- for (const [k, v] of Object.entries(value)) {
44
- result[k] = replacer(k, v);
45
- }
46
- // Remove from stack after processing
47
- stack.pop();
48
- return result;
49
- }
50
- return value;
51
- }
52
- return JSON.stringify(replacer('', obj));
53
- }
54
- //# sourceMappingURL=_util.js.map
package/dist/_util.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"_util.js","sourceRoot":"","sources":["../src/_util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,MAAe;IAC3D,IAAI,MAAM,YAAY,cAAc;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,MAAM,YAAY,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/F,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,GAAG,GAAa;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9C,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACzC,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjD,wDAAwD;YACxD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,YAAY,CAAC;YACrB,CAAC;YAED,iCAAiC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAElB,qBAAqB;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAkC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;YAED,qCAAqC;YACrC,KAAK,CAAC,GAAG,EAAE,CAAC;YAEZ,OAAO,MAAM,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,89 +0,0 @@
1
- import type { StandardSchemaV1, InferInput, InferOutput } from '@agentuity/core';
2
- /**
3
- * Schema definition for routes that can have input (POST, PUT, PATCH, DELETE).
4
- * Both input and output are optional, but output is recommended.
5
- *
6
- * @template TInput - Input schema (StandardSchemaV1 or undefined)
7
- * @template TOutput - Output schema (StandardSchemaV1 or undefined)
8
- *
9
- * @example
10
- * ```typescript
11
- * const schema: RouteSchema<z.ZodObject<{name: z.ZodString}>, z.ZodString> = {
12
- * input: z.object({ name: z.string() }),
13
- * output: z.string()
14
- * };
15
- * ```
16
- */
17
- export type RouteSchema<TInput extends StandardSchemaV1 | undefined = StandardSchemaV1 | undefined, TOutput extends StandardSchemaV1 | undefined = StandardSchemaV1 | undefined> = {
18
- input?: TInput;
19
- output?: TOutput;
20
- };
21
- /**
22
- * Schema definition for GET routes.
23
- * Input is not allowed (enforced as never), only output validation is supported.
24
- *
25
- * @template TOutput - Output schema (StandardSchemaV1 or undefined)
26
- *
27
- * @example
28
- * ```typescript
29
- * const schema: GetRouteSchema<z.ZodString> = {
30
- * output: z.string()
31
- * };
32
- * ```
33
- */
34
- export type GetRouteSchema<TOutput extends StandardSchemaV1 | undefined = StandardSchemaV1 | undefined> = {
35
- input?: never;
36
- output?: TOutput;
37
- };
38
- /**
39
- * Infer the input type from a StandardSchema.
40
- * Returns the input type of the schema (before validation/transformation).
41
- *
42
- * @template T - Schema type
43
- */
44
- export type InferSchemaInput<T> = T extends StandardSchemaV1 ? InferInput<T> : undefined;
45
- /**
46
- * Infer the output type from a StandardSchema.
47
- * Returns the output type of the schema (after validation/transformation).
48
- *
49
- * @template T - Schema type
50
- */
51
- export type InferSchemaOutput<T> = T extends StandardSchemaV1 ? InferOutput<T> : undefined;
52
- /**
53
- * Extract input schema from RouteSchema or GetRouteSchema.
54
- *
55
- * @template T - RouteSchema or GetRouteSchema type
56
- */
57
- export type ExtractInputSchema<T> = T extends RouteSchema<infer I, any> ? I : T extends GetRouteSchema<any> ? never : never;
58
- /**
59
- * Extract output schema from RouteSchema or GetRouteSchema.
60
- *
61
- * @template T - RouteSchema or GetRouteSchema type
62
- */
63
- export type ExtractOutputSchema<T> = T extends RouteSchema<any, infer O> ? O : T extends GetRouteSchema<infer O> ? O : never;
64
- /**
65
- * Validation result from StandardSchema validation.
66
- */
67
- export type ValidationResult<T> = {
68
- success: true;
69
- data: T;
70
- } | {
71
- success: false;
72
- issues: StandardSchemaV1.Issue[];
73
- };
74
- /**
75
- * Validates a value against a StandardSchema.
76
- *
77
- * @param schema - The StandardSchema to validate against
78
- * @param value - The value to validate
79
- * @returns ValidationResult with success/failure and data/issues
80
- */
81
- export declare function validateSchema<T>(schema: StandardSchemaV1, value: unknown): Promise<ValidationResult<T>>;
82
- /**
83
- * Format validation issues into a readable error message.
84
- *
85
- * @param issues - Array of validation issues
86
- * @returns Formatted error message
87
- */
88
- export declare function formatValidationIssues(issues: StandardSchemaV1.Issue[]): string;
89
- //# sourceMappingURL=_validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_validation.d.ts","sourceRoot":"","sources":["../src/_validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CACtB,MAAM,SAAS,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,EAC1E,OAAO,SAAS,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,IACxE;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,CACzB,OAAO,SAAS,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,IACxE;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAE3F;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAC/B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEzF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAChC,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC3B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAC1B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAA;CAAE,CAAC;AAExD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACrC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,OAAO,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAQ9B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,GAAG,MAAM,CAO/E"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Validates a value against a StandardSchema.
3
- *
4
- * @param schema - The StandardSchema to validate against
5
- * @param value - The value to validate
6
- * @returns ValidationResult with success/failure and data/issues
7
- */
8
- export async function validateSchema(schema, value) {
9
- const result = await schema['~standard'].validate(value);
10
- if ('issues' in result && result.issues) {
11
- return { success: false, issues: Array.from(result.issues) };
12
- }
13
- return { success: true, data: result.value };
14
- }
15
- /**
16
- * Format validation issues into a readable error message.
17
- *
18
- * @param issues - Array of validation issues
19
- * @returns Formatted error message
20
- */
21
- export function formatValidationIssues(issues) {
22
- return issues
23
- .map((issue) => {
24
- const path = issue.path?.map((p) => (typeof p === 'object' ? p.key : p)).join('.') || '';
25
- return path ? `${path}: ${issue.message}` : issue.message;
26
- })
27
- .join(', ');
28
- }
29
- //# sourceMappingURL=_validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_validation.js","sourceRoot":"","sources":["../src/_validation.ts"],"names":[],"mappings":"AAqFA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,MAAwB,EACxB,KAAc;IAEd,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAU,EAAE,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAgC;IACtE,OAAO,MAAM;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
@@ -1,32 +0,0 @@
1
- import { type Tracer } from '@opentelemetry/api';
2
- import type { Logger } from './logger';
3
- /**
4
- * returns true if wait until is pending
5
- * @returns boolean
6
- */
7
- export declare function hasWaitUntilPending(): boolean;
8
- export default class WaitUntilHandler {
9
- private promises;
10
- private tracer;
11
- private started;
12
- private hasCalledWaitUntilAll;
13
- constructor(tracer: Tracer);
14
- waitUntil(promise: Promise<void> | (() => void | Promise<void>), options?: {
15
- noSpan?: boolean;
16
- }): void;
17
- hasPending(): boolean;
18
- /**
19
- * Returns a snapshot of currently pending promises.
20
- * This allows waiting for specific promises without including promises added later.
21
- * Useful to avoid deadlock when the caller will add their own promise via waitUntil.
22
- */
23
- getPendingSnapshot(): Promise<void>[];
24
- /**
25
- * Wait for a specific set of promises to complete.
26
- * Unlike waitUntilAll, this doesn't mark the handler as "all called" and
27
- * allows additional waitUntil calls afterward.
28
- */
29
- waitForPromises(promises: Promise<void>[], logger: Logger, sessionId: string): Promise<void>;
30
- waitUntilAll(logger: Logger, sessionId: string): Promise<void>;
31
- }
32
- //# sourceMappingURL=_waituntil.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_waituntil.d.ts","sourceRoot":"","sources":["../src/_waituntil.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,MAAM,EAAS,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAYD,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACpC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,qBAAqB,CAAS;gBAEnB,MAAM,EAAE,MAAM;IAK1B,SAAS,CACf,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EACrD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,IAAI;IA8DA,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;IAI5C;;;;OAIG;IACU,eAAe,CAC3B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAwBH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuC3E"}
@@ -1,156 +0,0 @@
1
- import { context, SpanStatusCode, trace } from '@opentelemetry/api';
2
- import { internal } from './logger/internal';
3
- import { StructuredError } from '@agentuity/core';
4
- let running = 0;
5
- /**
6
- * returns true if wait until is pending
7
- * @returns boolean
8
- */
9
- export function hasWaitUntilPending() {
10
- internal.debug('hasWaitUntilPending called: %d', running);
11
- return running > 0;
12
- }
13
- const WaitUntilInvalidStateError = StructuredError('WaitUntilInvalidStateError', 'waitUntil cannot be called after waitUntilAll has been called');
14
- const WaitUntilAllInvalidStateError = StructuredError('WaitUntilAllInvalidStateError', 'waitUntilAll can only be called once per instance');
15
- export default class WaitUntilHandler {
16
- promises;
17
- tracer;
18
- started;
19
- hasCalledWaitUntilAll = false;
20
- constructor(tracer) {
21
- this.tracer = tracer;
22
- this.promises = [];
23
- }
24
- waitUntil(promise, options) {
25
- if (this.hasCalledWaitUntilAll) {
26
- throw new WaitUntilInvalidStateError();
27
- }
28
- running++;
29
- internal.debug('wait until called, running: %d', running);
30
- const currentContext = context.active();
31
- const skipSpan = options?.noSpan === true;
32
- // Start execution immediately, don't defer it
33
- const executingPromise = (async () => {
34
- if (this.started === undefined) {
35
- this.started = Date.now(); /// this first execution marks the start time
36
- }
37
- try {
38
- if (skipSpan) {
39
- // Execute without creating a span (used for coordination tasks)
40
- // Still propagate context so downstream async operations inherit the original context
41
- try {
42
- internal.debug('starting waituntil (no span)');
43
- await context.with(currentContext, async () => {
44
- const resolvedPromise = typeof promise === 'function' ? promise() : promise;
45
- return await Promise.resolve(resolvedPromise);
46
- });
47
- internal.debug('completed waituntil (no span)');
48
- }
49
- catch (ex) {
50
- // Log the error but don't re-throw - background tasks should never crash the server
51
- internal.error('Background task error: %s', ex);
52
- }
53
- }
54
- else {
55
- // Execute with a span (default behavior)
56
- const span = this.tracer.startSpan('waitUntil', {}, currentContext);
57
- const spanContext = trace.setSpan(currentContext, span);
58
- try {
59
- internal.debug('starting waituntil');
60
- await context.with(spanContext, async () => {
61
- const resolvedPromise = typeof promise === 'function' ? promise() : promise;
62
- return await Promise.resolve(resolvedPromise);
63
- });
64
- internal.debug('completed waituntil');
65
- span.setStatus({ code: SpanStatusCode.OK });
66
- }
67
- catch (ex) {
68
- span.recordException(ex);
69
- span.setStatus({ code: SpanStatusCode.ERROR });
70
- // Log the error but don't re-throw - background tasks should never crash the server
71
- internal.error('Background task error: %s', ex);
72
- }
73
- finally {
74
- span.end();
75
- }
76
- }
77
- }
78
- finally {
79
- // Decrement running counter when promise completes (success or failure)
80
- running--;
81
- internal.debug('waituntil completed, running: %d', running);
82
- }
83
- })();
84
- // Store the executing promise for cleanup tracking
85
- this.promises.push(executingPromise);
86
- }
87
- hasPending() {
88
- return this.promises.length > 0;
89
- }
90
- /**
91
- * Returns a snapshot of currently pending promises.
92
- * This allows waiting for specific promises without including promises added later.
93
- * Useful to avoid deadlock when the caller will add their own promise via waitUntil.
94
- */
95
- getPendingSnapshot() {
96
- return [...this.promises];
97
- }
98
- /**
99
- * Wait for a specific set of promises to complete.
100
- * Unlike waitUntilAll, this doesn't mark the handler as "all called" and
101
- * allows additional waitUntil calls afterward.
102
- */
103
- async waitForPromises(promises, logger, sessionId) {
104
- if (promises.length === 0) {
105
- internal.debug('No promises to wait for in snapshot');
106
- return;
107
- }
108
- internal.debug(`⏳ Waiting for ${promises.length} snapshot promises to complete (session: ${sessionId})...`);
109
- try {
110
- const results = await Promise.allSettled(promises);
111
- // Log any failures
112
- const failures = results.filter((r) => r.status === 'rejected');
113
- if (failures.length > 0) {
114
- logger.error('%d background task(s) failed during execution', failures.length);
115
- }
116
- internal.debug('✅ Snapshot promises completed (session: %s)', sessionId);
117
- }
118
- catch (ex) {
119
- logger.error('error waiting for snapshot promises', ex);
120
- }
121
- }
122
- async waitUntilAll(logger, sessionId) {
123
- internal.debug(`🔍 waitUntilAll() called for session ${sessionId} (count: %d)`, running);
124
- if (this.hasCalledWaitUntilAll) {
125
- throw new WaitUntilAllInvalidStateError();
126
- }
127
- this.hasCalledWaitUntilAll = true;
128
- if (this.promises.length === 0) {
129
- internal.debug('No promises to wait for, executing evals directly');
130
- // await this.executeEvalsForSession(logger, sessionId);
131
- return;
132
- }
133
- internal.debug(`⏳ Waiting for ${this.promises.length} promises to complete...`);
134
- try {
135
- // Promises are already executing, just wait for them to complete
136
- // Use allSettled so one failing promise doesn't stop others
137
- const results = await Promise.allSettled(this.promises);
138
- const duration = Date.now() - this.started;
139
- // Log any failures
140
- const failures = results.filter((r) => r.status === 'rejected');
141
- if (failures.length > 0) {
142
- logger.error('%d background task(s) failed during execution', failures.length);
143
- }
144
- internal.debug('✅ All promises completed, marking session completed (duration %dms)', duration);
145
- }
146
- catch (ex) {
147
- logger.error('error sending session completed', ex);
148
- }
149
- finally {
150
- // Note: running counter is decremented by each promise when it completes,
151
- // so we don't decrement here. Just clear the array.
152
- this.promises.length = 0;
153
- }
154
- }
155
- }
156
- //# sourceMappingURL=_waituntil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_waituntil.js","sourceRoot":"","sources":["../src/_waituntil.ts"],"names":[],"mappings":"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"}