@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/_metadata.ts DELETED
@@ -1,407 +0,0 @@
1
- /**
2
- * Build metadata utilities
3
- * Provides cached access to agentuity.metadata.json
4
- */
5
-
6
- import { join } from 'node:path';
7
- import { existsSync, readFileSync } from 'node:fs';
8
- import { internal } from './logger/internal';
9
-
10
- export interface BuildMetadataAgent {
11
- filename: string;
12
- id: string;
13
- agentId: string;
14
- version: string;
15
- name: string;
16
- description?: string;
17
- projectId?: string;
18
- schema?: {
19
- input?: string;
20
- output?: string;
21
- };
22
- evals?: Array<{
23
- filename: string;
24
- id: string;
25
- identifier: string;
26
- name: string;
27
- version: string;
28
- description?: string;
29
- agentIdentifier?: string;
30
- projectId?: string;
31
- }>;
32
- }
33
-
34
- export interface BuildMetadataRoute {
35
- id: string;
36
- filename: string;
37
- path: string;
38
- method: 'get' | 'post' | 'put' | 'delete' | 'patch';
39
- version: string;
40
- type?: string;
41
- agentIds?: string[];
42
- config?: Record<string, unknown>;
43
- schema?: {
44
- input?: string;
45
- output?: string;
46
- };
47
- }
48
-
49
- export interface BuildMetadata {
50
- routes: BuildMetadataRoute[];
51
- agents: BuildMetadataAgent[];
52
- assets?: string[];
53
- project: {
54
- id: string;
55
- name: string;
56
- version?: string;
57
- description?: string;
58
- keywords?: string[];
59
- orgId?: string;
60
- };
61
- deployment: {
62
- id: string;
63
- date: string;
64
- build: {
65
- bun: string;
66
- agentuity: string;
67
- arch: string;
68
- platform: string;
69
- };
70
- git?: {
71
- branch?: string;
72
- repo?: string;
73
- provider?: string;
74
- tags?: string[];
75
- commit?: string;
76
- message?: string;
77
- };
78
- };
79
- }
80
-
81
- // Cached metadata - null means not yet loaded, undefined means file not found
82
- let _metadataCache: BuildMetadata | null | undefined = null;
83
-
84
- /**
85
- * Get the path to agentuity.metadata.json
86
- *
87
- * Checks multiple locations to support both dev and production:
88
- * - Production: cwd is .agentuity/, file is at cwd/agentuity.metadata.json
89
- * - Dev: cwd is project root, file is at cwd/.agentuity/agentuity.metadata.json
90
- */
91
- export function getMetadataPath(): string {
92
- if (process.env.AGENTUITY_PROJECT_DIR) {
93
- // Dev path: running from project root with env flag to a different path using --dir
94
- const devPath = join(
95
- process.env.AGENTUITY_PROJECT_DIR,
96
- '.agentuity',
97
- 'agentuity.metadata.json'
98
- );
99
- if (existsSync(devPath)) {
100
- return devPath;
101
- }
102
- }
103
- // Production path: running from .agentuity/ directory
104
- const productionPath = join(process.cwd(), 'agentuity.metadata.json');
105
- if (existsSync(productionPath)) {
106
- return productionPath;
107
- }
108
-
109
- // Dev path: running from project root
110
- const devPath = join(process.cwd(), '.agentuity', 'agentuity.metadata.json');
111
- if (existsSync(devPath)) {
112
- return devPath;
113
- }
114
-
115
- // Default to production path (will fail gracefully in loadBuildMetadata)
116
- return productionPath;
117
- }
118
-
119
- /**
120
- * Load and cache the build metadata from agentuity.metadata.json
121
- * Returns undefined if the file doesn't exist or can't be parsed
122
- */
123
- export function loadBuildMetadata(): BuildMetadata | undefined {
124
- // Return cached value if already loaded
125
- if (_metadataCache !== null) {
126
- internal.info(
127
- '[metadata] loadBuildMetadata: returning cached value (exists: %s)',
128
- _metadataCache !== undefined
129
- );
130
- return _metadataCache;
131
- }
132
-
133
- const metadataPath = getMetadataPath();
134
- internal.info('[metadata] loadBuildMetadata: checking path %s', metadataPath);
135
- internal.info('[metadata] loadBuildMetadata: cwd=%s', process.cwd());
136
-
137
- if (!existsSync(metadataPath)) {
138
- internal.info('[metadata] agentuity.metadata.json not found at %s', metadataPath);
139
- // In dev mode, don't cache "not found" — the dev server generates
140
- // the metadata file after createApp() has already been called.
141
- // Caching undefined would permanently prevent the workbench from
142
- // finding agents once the file is later written.
143
- if (process.env.NODE_ENV === 'development') {
144
- return undefined;
145
- }
146
- _metadataCache = undefined;
147
- return undefined;
148
- }
149
-
150
- try {
151
- internal.info('[metadata] loadBuildMetadata: file exists, reading...');
152
- const content = readFileSync(metadataPath, 'utf-8');
153
- const metadata = JSON.parse(content) as BuildMetadata;
154
- _metadataCache = metadata;
155
-
156
- // Log agent and eval counts
157
- let totalEvals = 0;
158
- for (const agent of metadata.agents ?? []) {
159
- totalEvals += agent.evals?.length ?? 0;
160
- }
161
-
162
- internal.info(
163
- '[metadata] loaded agentuity.metadata.json: %d agents, %d routes, %d total evals',
164
- metadata.agents?.length ?? 0,
165
- metadata.routes?.length ?? 0,
166
- totalEvals
167
- );
168
-
169
- // Log agent names and their eval counts
170
- for (const agent of metadata.agents ?? []) {
171
- internal.info('[metadata] agent: %s (evals: %d)', agent.name, agent.evals?.length ?? 0);
172
- }
173
-
174
- return metadata;
175
- } catch (err) {
176
- internal.info('[metadata] failed to load agentuity.metadata.json: %s', err);
177
- _metadataCache = undefined;
178
- return undefined;
179
- }
180
- }
181
-
182
- // Eval metadata type (extracted from agent's evals array)
183
- export type BuildMetadataEval = NonNullable<BuildMetadataAgent['evals']>[number];
184
-
185
- // Agent lookup cache - built lazily from metadata
186
- let _agentsByName: Map<string, BuildMetadataAgent> | null = null;
187
- let _agentsByAgentId: Map<string, BuildMetadataAgent> | null = null;
188
-
189
- // Eval lookup cache - nested map: agentName -> evalName -> evalMetadata
190
- let _evalsByAgentName: Map<string, Map<string, BuildMetadataEval>> | null = null;
191
- let _evalsByAgentId: Map<string, Map<string, BuildMetadataEval>> | null = null;
192
-
193
- // Track if we've already attempted a reload for empty eval map
194
- let _evalReloadAttempted = false;
195
-
196
- // Track if we've already attempted a reload for empty agent map
197
- let _agentReloadAttempted = false;
198
-
199
- /**
200
- * Build agent lookup maps from metadata
201
- */
202
- function ensureAgentMaps(): void {
203
- if (_agentsByName !== null) {
204
- internal.info(`[metadata] ensureAgentMaps: already initialized, skipping`);
205
- return;
206
- }
207
-
208
- internal.info(`[metadata] ensureAgentMaps: initializing agent and eval maps`);
209
-
210
- _agentsByName = new Map();
211
- _agentsByAgentId = new Map();
212
- _evalsByAgentName = new Map();
213
- _evalsByAgentId = new Map();
214
-
215
- const metadata = loadBuildMetadata();
216
- if (!metadata?.agents) {
217
- internal.info(`[metadata] ensureAgentMaps: no metadata or no agents found`);
218
- // In dev mode, don't cache empty maps — metadata file may appear later
219
- if (process.env.NODE_ENV === 'development') {
220
- _agentsByName = null;
221
- _agentsByAgentId = null;
222
- _evalsByAgentName = null;
223
- _evalsByAgentId = null;
224
- }
225
- return;
226
- }
227
-
228
- internal.info(`[metadata] ensureAgentMaps: processing ${metadata.agents.length} agents`);
229
-
230
- for (const agent of metadata.agents) {
231
- if (agent.name) {
232
- _agentsByName.set(agent.name, agent);
233
- }
234
- if (agent.agentId) {
235
- _agentsByAgentId.set(agent.agentId, agent);
236
- }
237
-
238
- // Build eval lookup maps
239
- if (agent.evals && agent.evals.length > 0) {
240
- const evalsByName = new Map<string, BuildMetadataEval>();
241
- for (const evalMeta of agent.evals) {
242
- if (evalMeta.name) {
243
- evalsByName.set(evalMeta.name, evalMeta);
244
- internal.info(
245
- `[metadata] Indexed eval: agent='${agent.name}' eval='${evalMeta.name}' identifier='${evalMeta.identifier}'`
246
- );
247
- }
248
- }
249
- if (agent.name) {
250
- _evalsByAgentName.set(agent.name, evalsByName);
251
- }
252
- if (agent.agentId) {
253
- _evalsByAgentId.set(agent.agentId, evalsByName);
254
- }
255
- } else {
256
- internal.info(`[metadata] Agent '${agent.name}' has no evals`);
257
- }
258
- }
259
- internal.info(`[metadata] Eval maps built: ${_evalsByAgentName?.size ?? 0} agents with evals`);
260
- }
261
-
262
- /**
263
- * Look up agent metadata by name
264
- */
265
- export function getAgentMetadataByName(agentName: string): BuildMetadataAgent | undefined {
266
- ensureAgentMaps();
267
-
268
- // If agent map is empty, the cache may have been built before metadata was ready
269
- // Try clearing and reloading once (only attempt once to avoid repeated reloads)
270
- // This mirrors the reload logic in getEvalMetadata
271
- if (_agentsByName?.size === 0 && !_agentReloadAttempted) {
272
- _agentReloadAttempted = true;
273
- internal.info(
274
- `[metadata] getAgentMetadataByName: agent map is empty, attempting cache clear and reload`
275
- );
276
- clearMetadataCache();
277
- ensureAgentMaps();
278
- internal.info(
279
- `[metadata] getAgentMetadataByName: after reload, agent map size: ${_agentsByName?.size ?? 0}`
280
- );
281
- }
282
-
283
- return _agentsByName?.get(agentName);
284
- }
285
-
286
- /**
287
- * Look up agent metadata by agentId
288
- */
289
- export function getAgentMetadataByAgentId(agentId: string): BuildMetadataAgent | undefined {
290
- ensureAgentMaps();
291
- return _agentsByAgentId?.get(agentId);
292
- }
293
-
294
- /**
295
- * Look up eval metadata by agent name and eval name
296
- */
297
- export function getEvalMetadata(
298
- agentName: string,
299
- evalName: string
300
- ): BuildMetadataEval | undefined {
301
- ensureAgentMaps();
302
-
303
- // If eval map is empty, the cache may have been built before metadata was ready
304
- // Try clearing and reloading once (only attempt once to avoid repeated reloads)
305
- if (_evalsByAgentName?.size === 0 && !_evalReloadAttempted) {
306
- _evalReloadAttempted = true;
307
- internal.info(
308
- `[metadata] getEvalMetadata: eval map is empty, attempting cache clear and reload`
309
- );
310
- clearMetadataCache();
311
- ensureAgentMaps();
312
- internal.info(
313
- `[metadata] getEvalMetadata: after reload, eval map size: ${_evalsByAgentName?.size ?? 0}`
314
- );
315
- }
316
-
317
- const agentEvals = _evalsByAgentName?.get(agentName);
318
- internal.info(
319
- `[metadata] getEvalMetadata('${agentName}', '${evalName}'): agentEvals=${agentEvals ? `Map(${agentEvals.size})` : 'undefined'}`
320
- );
321
- if (agentEvals) {
322
- internal.info(
323
- `[metadata] Available evals for agent '${agentName}': [${[...agentEvals.keys()].join(', ')}]`
324
- );
325
- }
326
- if (!agentEvals) {
327
- internal.info(
328
- `[metadata] Available agents in eval map: [${[...(_evalsByAgentName?.keys() ?? [])].join(', ')}]`
329
- );
330
- }
331
- const result = agentEvals?.get(evalName);
332
- internal.info(
333
- `[metadata] getEvalMetadata result: ${result ? `found identifier=${result.identifier}` : 'not found'}`
334
- );
335
- return result;
336
- }
337
-
338
- /**
339
- * Look up eval metadata by agentId and eval name
340
- */
341
- export function getEvalMetadataByAgentId(
342
- agentId: string,
343
- evalName: string
344
- ): BuildMetadataEval | undefined {
345
- ensureAgentMaps();
346
- return _evalsByAgentId?.get(agentId)?.get(evalName);
347
- }
348
-
349
- /**
350
- * Check if metadata file exists (uses cache)
351
- */
352
- export function hasMetadata(): boolean {
353
- return loadBuildMetadata() !== undefined;
354
- }
355
-
356
- // Track if agents have been imported
357
- let _agentsImported = false;
358
-
359
- /**
360
- * Import all agents from metadata filenames to ensure they're registered.
361
- * This is needed so that runtime schemas are available for JSON schema generation.
362
- * Safe to call multiple times - will only import once.
363
- */
364
- export async function ensureAgentsImported(): Promise<void> {
365
- if (_agentsImported) {
366
- return;
367
- }
368
-
369
- const metadata = loadBuildMetadata();
370
- if (!metadata?.agents?.length) {
371
- _agentsImported = true;
372
- return;
373
- }
374
-
375
- internal.info('[metadata] ensureAgentsImported: importing %d agents', metadata.agents.length);
376
-
377
- for (const agent of metadata.agents) {
378
- if (!agent.filename) {
379
- continue;
380
- }
381
-
382
- try {
383
- // Convert relative filename to absolute path from cwd
384
- const absolutePath = join(process.cwd(), agent.filename);
385
- internal.info('[metadata] importing agent: %s from %s', agent.name, absolutePath);
386
- await import(absolutePath);
387
- } catch (err) {
388
- internal.info('[metadata] failed to import agent %s: %s', agent.name, err);
389
- }
390
- }
391
-
392
- _agentsImported = true;
393
- }
394
-
395
- /**
396
- * Clear the metadata cache (useful for testing or hot reload)
397
- */
398
- export function clearMetadataCache(): void {
399
- internal.info('[metadata] clearMetadataCache: clearing all caches');
400
- _metadataCache = null;
401
- _agentsByName = null;
402
- _agentsByAgentId = null;
403
- _evalsByAgentName = null;
404
- _evalsByAgentId = null;
405
- // Note: _evalReloadAttempted is intentionally NOT reset here
406
- // to prevent infinite reload loops in getEvalMetadata
407
- }
@@ -1,71 +0,0 @@
1
- /**
2
- * Process protection utilities
3
- *
4
- * Prevents user code from calling process.exit() which would crash the server.
5
- * The runtime can still exit gracefully using the internal exit function.
6
- *
7
- * Uses _globals.ts Symbol.for() accessors to store state across hot reloads.
8
- */
9
-
10
- import { StructuredError } from '@agentuity/core';
11
- import {
12
- originalProcessExit as exitGlobal,
13
- processExitProtected as protectedGlobal,
14
- } from './_globals';
15
-
16
- // Capture the original process.exit ONLY if not already stored.
17
- // Critical for hot reload: we must capture the truly original, not a wrapped version.
18
- const existingExit = exitGlobal.get();
19
- const originalExit: (code?: number) => never = existingExit ?? process.exit.bind(process);
20
- if (!existingExit) {
21
- exitGlobal.set(originalExit);
22
- }
23
-
24
- const ProcessExitAttemptError = StructuredError(
25
- 'ProcessExitAttemptError',
26
- 'Calling process.exit() is not allowed in agent code. The server must remain running to handle requests.'
27
- )<{
28
- code?: number | string | null | undefined;
29
- }>();
30
-
31
- /**
32
- * Enable protection against process.exit calls.
33
- * After calling this, user code calling process.exit() will throw an error.
34
- */
35
- export function enableProcessExitProtection(): void {
36
- if (protectedGlobal.get()) {
37
- return;
38
- }
39
- protectedGlobal.set(true);
40
-
41
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
- (process as any).exit = (code?: number | string | null | undefined): never => {
43
- throw new ProcessExitAttemptError({ code });
44
- };
45
- }
46
-
47
- /**
48
- * Disable protection (mainly for testing)
49
- */
50
- export function disableProcessExitProtection(): void {
51
- if (!protectedGlobal.get()) {
52
- return;
53
- }
54
- protectedGlobal.set(false);
55
- process.exit = originalExit;
56
- }
57
-
58
- /**
59
- * Internal function for the runtime to call when it needs to exit.
60
- * This bypasses the protection and calls the original process.exit.
61
- */
62
- export function internalExit(code?: number): never {
63
- return originalExit(code);
64
- }
65
-
66
- /**
67
- * Check if protection is currently enabled
68
- */
69
- export function isProtectionEnabled(): boolean {
70
- return protectedGlobal.get();
71
- }
package/src/_server.ts DELETED
@@ -1,109 +0,0 @@
1
- /**
2
- * Minimal server globals for Vite-native architecture
3
- * The server is managed by Vite (dev) or Bun.serve in the generated entry file (prod)
4
- *
5
- * These module-level variables persist across bun --hot reloads (since this
6
- * module is not re-evaluated unless it changes). createApp() updates them
7
- * via setters on each reload.
8
- */
9
-
10
- import type { Logger } from './logger';
11
- import type { Hono, Context as HonoContext } from 'hono';
12
- import type { Env, PrivateVariables } from './app';
13
- import type { Tracer } from '@opentelemetry/api';
14
- import type { SpanProcessor } from '@opentelemetry/sdk-trace-base';
15
- import { TokenSpanProcessor } from './_tokens';
16
-
17
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
- let globalRouterInstance: Hono<Env<any>> | null = null;
19
- let globalLogger: Logger | null = null;
20
- let globalTracer: Tracer | null = null;
21
-
22
- // Initialize with built-in span processors
23
- const spanProcessors: SpanProcessor[] = [new TokenSpanProcessor()];
24
-
25
- /**
26
- * List of AgentContext properties that should trigger helpful error messages
27
- * when accessed directly on HonoContext in route handlers.
28
- */
29
- export const AGENT_CONTEXT_PROPERTIES = [
30
- 'logger',
31
- 'tracer',
32
- 'sessionId',
33
- 'kv',
34
- 'stream',
35
- 'vector',
36
- 'sandbox',
37
- 'queue',
38
- 'state',
39
- 'thread',
40
- 'session',
41
- 'config',
42
- 'app',
43
- ] as const;
44
-
45
- export function getRouter() {
46
- return globalRouterInstance;
47
- }
48
-
49
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
- export function setGlobalRouter(router: Hono<Env<any>>) {
51
- globalRouterInstance = router;
52
- }
53
-
54
- /**
55
- * Returns the global logger instance.
56
- * This is a singleton created during application initialization.
57
- */
58
- export function createLogger() {
59
- return globalLogger;
60
- }
61
-
62
- export function getLogger() {
63
- return globalLogger;
64
- }
65
-
66
- export function setGlobalLogger(logger: Logger) {
67
- globalLogger = logger;
68
- }
69
-
70
- export function getTracer() {
71
- return globalTracer;
72
- }
73
-
74
- export function setGlobalTracer(tracer: Tracer) {
75
- globalTracer = tracer;
76
- }
77
-
78
- /**
79
- * Add a custom span processor that will be added to the otel configuration.
80
- * This method must be called before the server is initialized.
81
- */
82
- export function addSpanProcessor(processor: SpanProcessor) {
83
- spanProcessors.push(processor);
84
- }
85
-
86
- export function getSpanProcessors(): SpanProcessor[] {
87
- return spanProcessors;
88
- }
89
-
90
- /**
91
- * Helper to cast HonoContext to include private variables
92
- */
93
- export function privateContext<E extends Env>(c: HonoContext<E>) {
94
- return c as unknown as HonoContext<{ Variables: PrivateVariables }>;
95
- }
96
-
97
- /**
98
- * No-op for Vite-native architecture (Vite manages server lifecycle)
99
- */
100
- export const notifyReady = () => {
101
- // No-op: Vite handles server readiness
102
- };
103
-
104
- /**
105
- * No-op for Vite-native architecture (returns null)
106
- */
107
- export function getServer() {
108
- return null;
109
- }