@agentuity/runtime 2.0.11 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/index.d.ts +37 -65
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +59 -61
  4. package/dist/index.js.map +1 -1
  5. package/package.json +9 -38
  6. package/src/index.ts +58 -259
  7. package/AGENTS.md +0 -116
  8. package/dist/_config.d.ts +0 -100
  9. package/dist/_config.d.ts.map +0 -1
  10. package/dist/_config.js +0 -147
  11. package/dist/_config.js.map +0 -1
  12. package/dist/_context.d.ts +0 -80
  13. package/dist/_context.d.ts.map +0 -1
  14. package/dist/_context.js +0 -160
  15. package/dist/_context.js.map +0 -1
  16. package/dist/_events.d.ts +0 -64
  17. package/dist/_events.d.ts.map +0 -1
  18. package/dist/_events.js +0 -92
  19. package/dist/_events.js.map +0 -1
  20. package/dist/_globals.d.ts +0 -58
  21. package/dist/_globals.d.ts.map +0 -1
  22. package/dist/_globals.js +0 -71
  23. package/dist/_globals.js.map +0 -1
  24. package/dist/_idle.d.ts +0 -7
  25. package/dist/_idle.d.ts.map +0 -1
  26. package/dist/_idle.js +0 -10
  27. package/dist/_idle.js.map +0 -1
  28. package/dist/_metadata.d.ts +0 -117
  29. package/dist/_metadata.d.ts.map +0 -1
  30. package/dist/_metadata.js +0 -268
  31. package/dist/_metadata.js.map +0 -1
  32. package/dist/_process-protection.d.ts +0 -27
  33. package/dist/_process-protection.d.ts.map +0 -1
  34. package/dist/_process-protection.js +0 -56
  35. package/dist/_process-protection.js.map +0 -1
  36. package/dist/_server.d.ts +0 -50
  37. package/dist/_server.d.ts.map +0 -1
  38. package/dist/_server.js +0 -89
  39. package/dist/_server.js.map +0 -1
  40. package/dist/_services.d.ts +0 -25
  41. package/dist/_services.d.ts.map +0 -1
  42. package/dist/_services.js +0 -286
  43. package/dist/_services.js.map +0 -1
  44. package/dist/_standalone.d.ts +0 -212
  45. package/dist/_standalone.d.ts.map +0 -1
  46. package/dist/_standalone.js +0 -556
  47. package/dist/_standalone.js.map +0 -1
  48. package/dist/_tokens.d.ts +0 -12
  49. package/dist/_tokens.d.ts.map +0 -1
  50. package/dist/_tokens.js +0 -97
  51. package/dist/_tokens.js.map +0 -1
  52. package/dist/_util.d.ts +0 -16
  53. package/dist/_util.d.ts.map +0 -1
  54. package/dist/_util.js +0 -54
  55. package/dist/_util.js.map +0 -1
  56. package/dist/_validation.d.ts +0 -89
  57. package/dist/_validation.d.ts.map +0 -1
  58. package/dist/_validation.js +0 -29
  59. package/dist/_validation.js.map +0 -1
  60. package/dist/_waituntil.d.ts +0 -32
  61. package/dist/_waituntil.d.ts.map +0 -1
  62. package/dist/_waituntil.js +0 -156
  63. package/dist/_waituntil.js.map +0 -1
  64. package/dist/agent.d.ts +0 -1262
  65. package/dist/agent.d.ts.map +0 -1
  66. package/dist/agent.js +0 -981
  67. package/dist/agent.js.map +0 -1
  68. package/dist/app.d.ts +0 -514
  69. package/dist/app.d.ts.map +0 -1
  70. package/dist/app.js +0 -228
  71. package/dist/app.js.map +0 -1
  72. package/dist/bootstrap.d.ts +0 -44
  73. package/dist/bootstrap.d.ts.map +0 -1
  74. package/dist/bootstrap.js +0 -259
  75. package/dist/bootstrap.js.map +0 -1
  76. package/dist/bun-s3-patch.d.ts +0 -37
  77. package/dist/bun-s3-patch.d.ts.map +0 -1
  78. package/dist/bun-s3-patch.js +0 -142
  79. package/dist/bun-s3-patch.js.map +0 -1
  80. package/dist/cors.d.ts +0 -42
  81. package/dist/cors.d.ts.map +0 -1
  82. package/dist/cors.js +0 -117
  83. package/dist/cors.js.map +0 -1
  84. package/dist/dev-patches/aisdk.d.ts +0 -17
  85. package/dist/dev-patches/aisdk.d.ts.map +0 -1
  86. package/dist/dev-patches/aisdk.js +0 -160
  87. package/dist/dev-patches/aisdk.js.map +0 -1
  88. package/dist/dev-patches/gateway.d.ts +0 -16
  89. package/dist/dev-patches/gateway.d.ts.map +0 -1
  90. package/dist/dev-patches/gateway.js +0 -54
  91. package/dist/dev-patches/gateway.js.map +0 -1
  92. package/dist/dev-patches/index.d.ts +0 -21
  93. package/dist/dev-patches/index.d.ts.map +0 -1
  94. package/dist/dev-patches/index.js +0 -33
  95. package/dist/dev-patches/index.js.map +0 -1
  96. package/dist/dev-patches/otel-llm.d.ts +0 -12
  97. package/dist/dev-patches/otel-llm.d.ts.map +0 -1
  98. package/dist/dev-patches/otel-llm.js +0 -352
  99. package/dist/dev-patches/otel-llm.js.map +0 -1
  100. package/dist/devmode.d.ts +0 -3
  101. package/dist/devmode.d.ts.map +0 -1
  102. package/dist/devmode.js +0 -167
  103. package/dist/devmode.js.map +0 -1
  104. package/dist/eval.d.ts +0 -91
  105. package/dist/eval.d.ts.map +0 -1
  106. package/dist/eval.js +0 -16
  107. package/dist/eval.js.map +0 -1
  108. package/dist/handlers/_route-meta.d.ts +0 -22
  109. package/dist/handlers/_route-meta.d.ts.map +0 -1
  110. package/dist/handlers/_route-meta.js +0 -25
  111. package/dist/handlers/_route-meta.js.map +0 -1
  112. package/dist/handlers/cron.d.ts +0 -73
  113. package/dist/handlers/cron.d.ts.map +0 -1
  114. package/dist/handlers/cron.js +0 -43
  115. package/dist/handlers/cron.js.map +0 -1
  116. package/dist/handlers/index.d.ts +0 -6
  117. package/dist/handlers/index.d.ts.map +0 -1
  118. package/dist/handlers/index.js +0 -6
  119. package/dist/handlers/index.js.map +0 -1
  120. package/dist/handlers/sse.d.ts +0 -163
  121. package/dist/handlers/sse.d.ts.map +0 -1
  122. package/dist/handlers/sse.js +0 -175
  123. package/dist/handlers/sse.js.map +0 -1
  124. package/dist/handlers/stream.d.ts +0 -52
  125. package/dist/handlers/stream.d.ts.map +0 -1
  126. package/dist/handlers/stream.js +0 -108
  127. package/dist/handlers/stream.js.map +0 -1
  128. package/dist/handlers/webrtc.d.ts +0 -49
  129. package/dist/handlers/webrtc.d.ts.map +0 -1
  130. package/dist/handlers/webrtc.js +0 -109
  131. package/dist/handlers/webrtc.js.map +0 -1
  132. package/dist/handlers/websocket.d.ts +0 -88
  133. package/dist/handlers/websocket.d.ts.map +0 -1
  134. package/dist/handlers/websocket.js +0 -161
  135. package/dist/handlers/websocket.js.map +0 -1
  136. package/dist/logger/console.d.ts +0 -70
  137. package/dist/logger/console.d.ts.map +0 -1
  138. package/dist/logger/console.js +0 -278
  139. package/dist/logger/console.js.map +0 -1
  140. package/dist/logger/index.d.ts +0 -3
  141. package/dist/logger/index.d.ts.map +0 -1
  142. package/dist/logger/index.js +0 -3
  143. package/dist/logger/index.js.map +0 -1
  144. package/dist/logger/internal.d.ts +0 -79
  145. package/dist/logger/internal.d.ts.map +0 -1
  146. package/dist/logger/internal.js +0 -133
  147. package/dist/logger/internal.js.map +0 -1
  148. package/dist/logger/logger.d.ts +0 -41
  149. package/dist/logger/logger.d.ts.map +0 -1
  150. package/dist/logger/logger.js +0 -2
  151. package/dist/logger/logger.js.map +0 -1
  152. package/dist/logger/user.d.ts +0 -8
  153. package/dist/logger/user.d.ts.map +0 -1
  154. package/dist/logger/user.js +0 -7
  155. package/dist/logger/user.js.map +0 -1
  156. package/dist/logger/util.d.ts +0 -11
  157. package/dist/logger/util.d.ts.map +0 -1
  158. package/dist/logger/util.js +0 -77
  159. package/dist/logger/util.js.map +0 -1
  160. package/dist/middleware.d.ts +0 -105
  161. package/dist/middleware.d.ts.map +0 -1
  162. package/dist/middleware.js +0 -763
  163. package/dist/middleware.js.map +0 -1
  164. package/dist/otel/config.d.ts +0 -19
  165. package/dist/otel/config.d.ts.map +0 -1
  166. package/dist/otel/config.js +0 -26
  167. package/dist/otel/config.js.map +0 -1
  168. package/dist/otel/console.d.ts +0 -33
  169. package/dist/otel/console.d.ts.map +0 -1
  170. package/dist/otel/console.js +0 -86
  171. package/dist/otel/console.js.map +0 -1
  172. package/dist/otel/exporters/index.d.ts +0 -4
  173. package/dist/otel/exporters/index.d.ts.map +0 -1
  174. package/dist/otel/exporters/index.js +0 -4
  175. package/dist/otel/exporters/index.js.map +0 -1
  176. package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
  177. package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
  178. package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
  179. package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
  180. package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
  181. package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
  182. package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
  183. package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
  184. package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
  185. package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
  186. package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
  187. package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
  188. package/dist/otel/fetch.d.ts +0 -12
  189. package/dist/otel/fetch.d.ts.map +0 -1
  190. package/dist/otel/fetch.js +0 -82
  191. package/dist/otel/fetch.js.map +0 -1
  192. package/dist/otel/http.d.ts +0 -16
  193. package/dist/otel/http.d.ts.map +0 -1
  194. package/dist/otel/http.js +0 -44
  195. package/dist/otel/http.js.map +0 -1
  196. package/dist/otel/logger.d.ts +0 -37
  197. package/dist/otel/logger.d.ts.map +0 -1
  198. package/dist/otel/logger.js +0 -265
  199. package/dist/otel/logger.js.map +0 -1
  200. package/dist/otel/otel.d.ts +0 -68
  201. package/dist/otel/otel.d.ts.map +0 -1
  202. package/dist/otel/otel.js +0 -245
  203. package/dist/otel/otel.js.map +0 -1
  204. package/dist/otel/tracestate.d.ts +0 -44
  205. package/dist/otel/tracestate.d.ts.map +0 -1
  206. package/dist/otel/tracestate.js +0 -84
  207. package/dist/otel/tracestate.js.map +0 -1
  208. package/dist/router.d.ts +0 -66
  209. package/dist/router.d.ts.map +0 -1
  210. package/dist/router.js +0 -44
  211. package/dist/router.js.map +0 -1
  212. package/dist/services/evalrun/composite.d.ts +0 -21
  213. package/dist/services/evalrun/composite.d.ts.map +0 -1
  214. package/dist/services/evalrun/composite.js +0 -26
  215. package/dist/services/evalrun/composite.js.map +0 -1
  216. package/dist/services/evalrun/http.d.ts +0 -24
  217. package/dist/services/evalrun/http.d.ts.map +0 -1
  218. package/dist/services/evalrun/http.js +0 -115
  219. package/dist/services/evalrun/http.js.map +0 -1
  220. package/dist/services/evalrun/index.d.ts +0 -5
  221. package/dist/services/evalrun/index.d.ts.map +0 -1
  222. package/dist/services/evalrun/index.js +0 -5
  223. package/dist/services/evalrun/index.js.map +0 -1
  224. package/dist/services/evalrun/json.d.ts +0 -21
  225. package/dist/services/evalrun/json.d.ts.map +0 -1
  226. package/dist/services/evalrun/json.js +0 -38
  227. package/dist/services/evalrun/json.js.map +0 -1
  228. package/dist/services/evalrun/local.d.ts +0 -19
  229. package/dist/services/evalrun/local.d.ts.map +0 -1
  230. package/dist/services/evalrun/local.js +0 -22
  231. package/dist/services/evalrun/local.js.map +0 -1
  232. package/dist/services/local/_db.d.ts +0 -4
  233. package/dist/services/local/_db.d.ts.map +0 -1
  234. package/dist/services/local/_db.js +0 -281
  235. package/dist/services/local/_db.js.map +0 -1
  236. package/dist/services/local/_router.d.ts +0 -3
  237. package/dist/services/local/_router.d.ts.map +0 -1
  238. package/dist/services/local/_router.js +0 -28
  239. package/dist/services/local/_router.js.map +0 -1
  240. package/dist/services/local/_util.d.ts +0 -18
  241. package/dist/services/local/_util.d.ts.map +0 -1
  242. package/dist/services/local/_util.js +0 -44
  243. package/dist/services/local/_util.js.map +0 -1
  244. package/dist/services/local/email.d.ts +0 -24
  245. package/dist/services/local/email.d.ts.map +0 -1
  246. package/dist/services/local/email.js +0 -58
  247. package/dist/services/local/email.js.map +0 -1
  248. package/dist/services/local/index.d.ts +0 -10
  249. package/dist/services/local/index.d.ts.map +0 -1
  250. package/dist/services/local/index.js +0 -10
  251. package/dist/services/local/index.js.map +0 -1
  252. package/dist/services/local/keyvalue.d.ts +0 -17
  253. package/dist/services/local/keyvalue.d.ts.map +0 -1
  254. package/dist/services/local/keyvalue.js +0 -133
  255. package/dist/services/local/keyvalue.js.map +0 -1
  256. package/dist/services/local/queue.d.ts +0 -10
  257. package/dist/services/local/queue.d.ts.map +0 -1
  258. package/dist/services/local/queue.js +0 -96
  259. package/dist/services/local/queue.js.map +0 -1
  260. package/dist/services/local/stream.d.ts +0 -12
  261. package/dist/services/local/stream.d.ts.map +0 -1
  262. package/dist/services/local/stream.js +0 -266
  263. package/dist/services/local/stream.js.map +0 -1
  264. package/dist/services/local/task.d.ts +0 -55
  265. package/dist/services/local/task.d.ts.map +0 -1
  266. package/dist/services/local/task.js +0 -1248
  267. package/dist/services/local/task.js.map +0 -1
  268. package/dist/services/local/vector.d.ts +0 -17
  269. package/dist/services/local/vector.d.ts.map +0 -1
  270. package/dist/services/local/vector.js +0 -303
  271. package/dist/services/local/vector.js.map +0 -1
  272. package/dist/services/sandbox/http.d.ts +0 -23
  273. package/dist/services/sandbox/http.d.ts.map +0 -1
  274. package/dist/services/sandbox/http.js +0 -327
  275. package/dist/services/sandbox/http.js.map +0 -1
  276. package/dist/services/sandbox/index.d.ts +0 -2
  277. package/dist/services/sandbox/index.d.ts.map +0 -1
  278. package/dist/services/sandbox/index.js +0 -2
  279. package/dist/services/sandbox/index.js.map +0 -1
  280. package/dist/services/session/composite.d.ts +0 -21
  281. package/dist/services/session/composite.d.ts.map +0 -1
  282. package/dist/services/session/composite.js +0 -26
  283. package/dist/services/session/composite.js.map +0 -1
  284. package/dist/services/session/http.d.ts +0 -34
  285. package/dist/services/session/http.d.ts.map +0 -1
  286. package/dist/services/session/http.js +0 -124
  287. package/dist/services/session/http.js.map +0 -1
  288. package/dist/services/session/index.d.ts +0 -5
  289. package/dist/services/session/index.d.ts.map +0 -1
  290. package/dist/services/session/index.js +0 -5
  291. package/dist/services/session/index.js.map +0 -1
  292. package/dist/services/session/json.d.ts +0 -22
  293. package/dist/services/session/json.d.ts.map +0 -1
  294. package/dist/services/session/json.js +0 -35
  295. package/dist/services/session/json.js.map +0 -1
  296. package/dist/services/session/local.d.ts +0 -19
  297. package/dist/services/session/local.d.ts.map +0 -1
  298. package/dist/services/session/local.js +0 -23
  299. package/dist/services/session/local.js.map +0 -1
  300. package/dist/services/thread/local.d.ts +0 -20
  301. package/dist/services/thread/local.d.ts.map +0 -1
  302. package/dist/services/thread/local.js +0 -158
  303. package/dist/services/thread/local.js.map +0 -1
  304. package/dist/session.d.ts +0 -734
  305. package/dist/session.d.ts.map +0 -1
  306. package/dist/session.js +0 -1140
  307. package/dist/session.js.map +0 -1
  308. package/dist/signature.d.ts +0 -22
  309. package/dist/signature.d.ts.map +0 -1
  310. package/dist/signature.js +0 -63
  311. package/dist/signature.js.map +0 -1
  312. package/dist/validator.d.ts +0 -142
  313. package/dist/validator.d.ts.map +0 -1
  314. package/dist/validator.js +0 -149
  315. package/dist/validator.js.map +0 -1
  316. package/dist/version-check.d.ts +0 -20
  317. package/dist/version-check.d.ts.map +0 -1
  318. package/dist/version-check.js +0 -157
  319. package/dist/version-check.js.map +0 -1
  320. package/dist/web.d.ts +0 -8
  321. package/dist/web.d.ts.map +0 -1
  322. package/dist/web.js +0 -67
  323. package/dist/web.js.map +0 -1
  324. package/dist/webrtc-signaling.d.ts +0 -80
  325. package/dist/webrtc-signaling.d.ts.map +0 -1
  326. package/dist/webrtc-signaling.js +0 -237
  327. package/dist/webrtc-signaling.js.map +0 -1
  328. package/dist/workbench.d.ts +0 -17
  329. package/dist/workbench.d.ts.map +0 -1
  330. package/dist/workbench.js +0 -605
  331. package/dist/workbench.js.map +0 -1
  332. package/src/_config.ts +0 -163
  333. package/src/_context.ts +0 -240
  334. package/src/_events.ts +0 -142
  335. package/src/_globals.ts +0 -92
  336. package/src/_idle.ts +0 -10
  337. package/src/_metadata.ts +0 -407
  338. package/src/_process-protection.ts +0 -71
  339. package/src/_server.ts +0 -109
  340. package/src/_services.ts +0 -379
  341. package/src/_standalone.ts +0 -710
  342. package/src/_tokens.ts +0 -114
  343. package/src/_util.ts +0 -62
  344. package/src/_validation.ts +0 -119
  345. package/src/_waituntil.ts +0 -188
  346. package/src/agent.ts +0 -2739
  347. package/src/app.ts +0 -769
  348. package/src/bootstrap.ts +0 -321
  349. package/src/bun-s3-patch.ts +0 -224
  350. package/src/cors.ts +0 -137
  351. package/src/dev-patches/aisdk.ts +0 -169
  352. package/src/dev-patches/gateway.ts +0 -68
  353. package/src/dev-patches/index.ts +0 -37
  354. package/src/dev-patches/otel-llm.ts +0 -405
  355. package/src/devmode.ts +0 -171
  356. package/src/eval.ts +0 -109
  357. package/src/globals.d.ts +0 -28
  358. package/src/handlers/_route-meta.ts +0 -33
  359. package/src/handlers/cron.ts +0 -141
  360. package/src/handlers/index.ts +0 -18
  361. package/src/handlers/sse.ts +0 -358
  362. package/src/handlers/stream.ts +0 -121
  363. package/src/handlers/webrtc.ts +0 -125
  364. package/src/handlers/websocket.ts +0 -203
  365. package/src/logger/console.ts +0 -323
  366. package/src/logger/index.ts +0 -2
  367. package/src/logger/internal.ts +0 -165
  368. package/src/logger/logger.ts +0 -44
  369. package/src/logger/user.ts +0 -15
  370. package/src/logger/util.ts +0 -80
  371. package/src/middleware.ts +0 -1095
  372. package/src/otel/config.ts +0 -47
  373. package/src/otel/console.ts +0 -91
  374. package/src/otel/exporters/README.md +0 -217
  375. package/src/otel/exporters/index.ts +0 -3
  376. package/src/otel/exporters/jsonl-log-exporter.ts +0 -113
  377. package/src/otel/exporters/jsonl-metric-exporter.ts +0 -120
  378. package/src/otel/exporters/jsonl-trace-exporter.ts +0 -121
  379. package/src/otel/fetch.ts +0 -105
  380. package/src/otel/http.ts +0 -53
  381. package/src/otel/logger.ts +0 -293
  382. package/src/otel/otel.ts +0 -354
  383. package/src/otel/tracestate.ts +0 -108
  384. package/src/router.ts +0 -75
  385. package/src/services/evalrun/composite.ts +0 -34
  386. package/src/services/evalrun/http.ts +0 -167
  387. package/src/services/evalrun/index.ts +0 -4
  388. package/src/services/evalrun/json.ts +0 -46
  389. package/src/services/evalrun/local.ts +0 -28
  390. package/src/services/local/README.md +0 -1576
  391. package/src/services/local/_db.ts +0 -353
  392. package/src/services/local/_router.ts +0 -40
  393. package/src/services/local/_util.ts +0 -55
  394. package/src/services/local/email.ts +0 -91
  395. package/src/services/local/index.ts +0 -9
  396. package/src/services/local/keyvalue.ts +0 -174
  397. package/src/services/local/queue.ts +0 -145
  398. package/src/services/local/stream.ts +0 -358
  399. package/src/services/local/task.ts +0 -1711
  400. package/src/services/local/vector.ts +0 -438
  401. package/src/services/sandbox/http.ts +0 -522
  402. package/src/services/sandbox/index.ts +0 -1
  403. package/src/services/session/composite.ts +0 -33
  404. package/src/services/session/http.ts +0 -167
  405. package/src/services/session/index.ts +0 -4
  406. package/src/services/session/json.ts +0 -42
  407. package/src/services/session/local.ts +0 -33
  408. package/src/services/thread/local.ts +0 -199
  409. package/src/session.ts +0 -1960
  410. package/src/signature.ts +0 -82
  411. package/src/validator.ts +0 -283
  412. package/src/version-check.ts +0 -184
  413. package/src/web.ts +0 -76
  414. package/src/webrtc-signaling.ts +0 -288
  415. package/src/workbench.ts +0 -725
@@ -1,522 +0,0 @@
1
- import {
2
- APIClient,
3
- executionGet,
4
- sandboxCreate,
5
- sandboxDestroy,
6
- sandboxExecute,
7
- sandboxGet,
8
- sandboxList,
9
- sandboxListFiles,
10
- sandboxMkDir,
11
- sandboxPause,
12
- sandboxReadFile,
13
- sandboxResume,
14
- sandboxRmDir,
15
- sandboxRmFile,
16
- sandboxRun,
17
- sandboxSetEnv,
18
- sandboxWriteFiles,
19
- jobCreate,
20
- jobGet,
21
- jobList,
22
- jobStop,
23
- snapshotCreate,
24
- snapshotGet,
25
- snapshotList,
26
- snapshotDelete,
27
- snapshotTag,
28
- } from '@agentuity/server';
29
- import type {
30
- SandboxService,
31
- Sandbox,
32
- SandboxFileInfo,
33
- SandboxInfo,
34
- SandboxCreateOptions,
35
- SandboxRunOptions,
36
- SandboxRunResult,
37
- ListSandboxesParams,
38
- ListSandboxesResponse,
39
- ExecuteOptions,
40
- Execution,
41
- ExecutionStatus,
42
- StreamReader,
43
- SandboxStatus,
44
- FileToWrite,
45
- SnapshotService,
46
- SnapshotCreateOptions,
47
- SnapshotInfo,
48
- SnapshotListParams,
49
- SnapshotListResponse,
50
- CreateJobOptions,
51
- Job,
52
- JobListResponse,
53
- } from '@agentuity/core';
54
- import { context, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
55
-
56
- const TRACER_NAME = 'agentuity.sandbox';
57
-
58
- /** Terminal execution statuses that indicate the command has finished. */
59
- const TERMINAL_STATUSES: Set<ExecutionStatus> = new Set([
60
- 'completed',
61
- 'failed',
62
- 'timeout',
63
- 'cancelled',
64
- ]);
65
-
66
- async function withSpan<T>(
67
- name: string,
68
- attributes: Record<string, string | number | boolean>,
69
- fn: () => Promise<T>
70
- ): Promise<T> {
71
- const tracer = trace.getTracer(TRACER_NAME);
72
- const currentContext = context.active();
73
- const span = tracer.startSpan(name, { attributes, kind: SpanKind.CLIENT }, currentContext);
74
- const spanContext = trace.setSpan(currentContext, span);
75
-
76
- try {
77
- const result = await context.with(spanContext, fn);
78
- span.setStatus({ code: SpanStatusCode.OK });
79
- return result;
80
- } catch (err) {
81
- const e = err as Error;
82
- span.recordException(e);
83
- span.setStatus({ code: SpanStatusCode.ERROR, message: e?.message ?? String(err) });
84
- throw err;
85
- } finally {
86
- span.end();
87
- }
88
- }
89
-
90
- function buildStreamReader(id: string, url: string): StreamReader {
91
- return {
92
- id,
93
- url,
94
- readonly: true as const,
95
- getReader(): ReadableStream<Uint8Array> {
96
- if (!url) {
97
- return new ReadableStream({
98
- start(controller) {
99
- controller.close();
100
- },
101
- });
102
- }
103
- return new ReadableStream({
104
- async start(controller) {
105
- try {
106
- const response = await fetch(url);
107
- if (!response.ok || !response.body) {
108
- controller.close();
109
- return;
110
- }
111
- const reader = response.body.getReader();
112
- while (true) {
113
- const { done, value } = await reader.read();
114
- if (done) break;
115
- controller.enqueue(value);
116
- }
117
- controller.close();
118
- } catch {
119
- controller.close();
120
- }
121
- },
122
- });
123
- },
124
- };
125
- }
126
-
127
- function createStreamReader(id: string | undefined, baseUrl: string): StreamReader {
128
- const streamId = id ?? '';
129
- const url = streamId ? `${baseUrl}/${streamId}` : '';
130
- return buildStreamReader(streamId, url);
131
- }
132
-
133
- function createStreamReaderFromUrl(streamUrl: string | undefined): StreamReader {
134
- const url = streamUrl ?? '';
135
- if (!url) return buildStreamReader('', '');
136
- try {
137
- const pathname = new URL(url).pathname.replace(/\/+$/, '');
138
- const id = pathname.split('/').pop() ?? '';
139
- return buildStreamReader(id, url);
140
- } catch {
141
- const id = url.split('/').pop() ?? '';
142
- return buildStreamReader(id, url);
143
- }
144
- }
145
-
146
- /**
147
- * Creates the method implementations shared by all Sandbox instances.
148
- */
149
- function createSandboxMethods(client: APIClient, sandboxId: string) {
150
- return {
151
- async execute(options: ExecuteOptions): Promise<Execution> {
152
- return withSpan(
153
- 'agentuity.sandbox.execute',
154
- {
155
- 'sandbox.id': sandboxId,
156
- 'sandbox.command': options.command?.join(' ') ?? '',
157
- },
158
- async () => {
159
- const initial = await sandboxExecute(client, {
160
- sandboxId,
161
- options,
162
- signal: options.signal,
163
- });
164
- // Wait for execution to reach a terminal state via long-polling.
165
- // The server holds each request for up to 60s; if the execution
166
- // is still running we loop and issue another long-poll request.
167
- // The caller's signal is forwarded into every fetch so that
168
- // cancellation aborts the in-flight request immediately.
169
- let final: Awaited<ReturnType<typeof executionGet>>;
170
- do {
171
- if (options.signal?.aborted) {
172
- throw new DOMException('The operation was aborted.', 'AbortError');
173
- }
174
- final = await executionGet(client, {
175
- executionId: initial.executionId,
176
- wait: '60s',
177
- signal: options.signal,
178
- });
179
- } while (!TERMINAL_STATUSES.has(final.status as ExecutionStatus));
180
- return {
181
- executionId: final.executionId,
182
- status: final.status,
183
- exitCode: final.exitCode,
184
- durationMs: final.durationMs,
185
- stdoutStreamUrl: initial.stdoutStreamUrl,
186
- stderrStreamUrl: initial.stderrStreamUrl,
187
- };
188
- }
189
- );
190
- },
191
-
192
- async writeFiles(files: FileToWrite[]): Promise<void> {
193
- await withSpan(
194
- 'agentuity.sandbox.writeFiles',
195
- {
196
- 'sandbox.id': sandboxId,
197
- 'sandbox.files.count': files.length,
198
- },
199
- () => sandboxWriteFiles(client, { sandboxId, files })
200
- );
201
- },
202
-
203
- async readFile(path: string): Promise<ReadableStream<Uint8Array>> {
204
- return withSpan(
205
- 'agentuity.sandbox.readFile',
206
- {
207
- 'sandbox.id': sandboxId,
208
- 'sandbox.file.path': path,
209
- },
210
- () => sandboxReadFile(client, { sandboxId, path })
211
- );
212
- },
213
-
214
- async listFiles(path?: string): Promise<SandboxFileInfo[]> {
215
- return withSpan(
216
- 'agentuity.sandbox.listFiles',
217
- {
218
- 'sandbox.id': sandboxId,
219
- 'sandbox.dir.path': path ?? '',
220
- },
221
- async () => {
222
- const result = await sandboxListFiles(client, { sandboxId, path });
223
- return result.files;
224
- }
225
- );
226
- },
227
-
228
- async mkDir(path: string, recursive?: boolean): Promise<void> {
229
- await withSpan(
230
- 'agentuity.sandbox.mkDir',
231
- {
232
- 'sandbox.id': sandboxId,
233
- 'sandbox.dir.path': path,
234
- },
235
- () => sandboxMkDir(client, { sandboxId, path, recursive })
236
- );
237
- },
238
-
239
- async rmFile(path: string): Promise<{ found: boolean }> {
240
- return withSpan(
241
- 'agentuity.sandbox.rmFile',
242
- {
243
- 'sandbox.id': sandboxId,
244
- 'sandbox.file.path': path,
245
- },
246
- () => sandboxRmFile(client, { sandboxId, path })
247
- );
248
- },
249
-
250
- async rmDir(path: string, recursive?: boolean): Promise<{ found: boolean }> {
251
- return withSpan(
252
- 'agentuity.sandbox.rmDir',
253
- {
254
- 'sandbox.id': sandboxId,
255
- 'sandbox.dir.path': path,
256
- },
257
- () => sandboxRmDir(client, { sandboxId, path, recursive })
258
- );
259
- },
260
-
261
- async setEnv(env: Record<string, string | null>): Promise<Record<string, string>> {
262
- return withSpan('agentuity.sandbox.setEnv', { 'sandbox.id': sandboxId }, async () => {
263
- const result = await sandboxSetEnv(client, { sandboxId, env });
264
- return result.env;
265
- });
266
- },
267
-
268
- async pause(): Promise<void> {
269
- await withSpan('agentuity.sandbox.pause', { 'sandbox.id': sandboxId }, () =>
270
- sandboxPause(client, { sandboxId })
271
- );
272
- },
273
-
274
- async resume(): Promise<void> {
275
- await withSpan('agentuity.sandbox.resume', { 'sandbox.id': sandboxId }, () =>
276
- sandboxResume(client, { sandboxId })
277
- );
278
- },
279
-
280
- async destroy(): Promise<void> {
281
- await withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () =>
282
- sandboxDestroy(client, { sandboxId })
283
- );
284
- },
285
-
286
- async createJob(options: CreateJobOptions): Promise<Job> {
287
- return withSpan(
288
- 'agentuity.sandbox.createJob',
289
- { 'sandbox.id': sandboxId, 'sandbox.command': options.command?.join(' ') ?? '' },
290
- () => jobCreate(client, { sandboxId, options })
291
- );
292
- },
293
-
294
- async getJob(jobId: string): Promise<Job> {
295
- return withSpan(
296
- 'agentuity.sandbox.getJob',
297
- { 'sandbox.id': sandboxId, 'job.id': jobId },
298
- () => jobGet(client, { sandboxId, jobId })
299
- );
300
- },
301
-
302
- async listJobs(limit?: number): Promise<JobListResponse> {
303
- return withSpan('agentuity.sandbox.listJobs', { 'sandbox.id': sandboxId }, () =>
304
- jobList(client, { sandboxId, limit })
305
- );
306
- },
307
-
308
- async stopJob(jobId: string, force?: boolean): Promise<Job> {
309
- return withSpan(
310
- 'agentuity.sandbox.stopJob',
311
- { 'sandbox.id': sandboxId, 'job.id': jobId },
312
- () => jobStop(client, { sandboxId, jobId, force })
313
- );
314
- },
315
- };
316
- }
317
-
318
- function createSandboxInstance(
319
- client: APIClient,
320
- sandboxId: string,
321
- status: SandboxStatus,
322
- streamBaseUrl: string,
323
- stdoutStreamId?: string,
324
- stderrStreamId?: string,
325
- auditStreamId?: string
326
- ): Sandbox {
327
- const interleaved = !!(stdoutStreamId && stderrStreamId && stdoutStreamId === stderrStreamId);
328
- return {
329
- id: sandboxId,
330
- status,
331
- stdout: createStreamReader(stdoutStreamId, streamBaseUrl),
332
- stderr: createStreamReader(stderrStreamId, streamBaseUrl),
333
- interleaved,
334
- auditStreamId,
335
- ...createSandboxMethods(client, sandboxId),
336
- };
337
- }
338
-
339
- function createSandboxInstanceFromInfo(client: APIClient, info: SandboxInfo): Sandbox {
340
- const stdoutReader = createStreamReaderFromUrl(info.stdoutStreamUrl);
341
- const stderrReader = createStreamReaderFromUrl(info.stderrStreamUrl);
342
- const interleaved = !!(
343
- stdoutReader.id &&
344
- stderrReader.id &&
345
- stdoutReader.id === stderrReader.id
346
- );
347
- return {
348
- id: info.sandboxId,
349
- status: info.status,
350
- name: info.name,
351
- description: info.description,
352
- runtime: info.runtime,
353
- stdout: stdoutReader,
354
- stderr: stderrReader,
355
- interleaved,
356
- auditStreamId: info.auditStreamId,
357
- ...createSandboxMethods(client, info.sandboxId),
358
- };
359
- }
360
-
361
- /**
362
- * HTTP implementation of the SnapshotService interface
363
- */
364
- class HTTPSnapshotService implements SnapshotService {
365
- private client: APIClient;
366
-
367
- constructor(client: APIClient) {
368
- this.client = client;
369
- }
370
-
371
- async create(sandboxId: string, options?: SnapshotCreateOptions): Promise<SnapshotInfo> {
372
- return withSpan(
373
- 'agentuity.sandbox.snapshot.create',
374
- {
375
- 'sandbox.id': sandboxId,
376
- 'snapshot.name': options?.name ?? '',
377
- 'snapshot.tag': options?.tag ?? '',
378
- },
379
- () =>
380
- snapshotCreate(this.client, {
381
- sandboxId,
382
- name: options?.name,
383
- description: options?.description,
384
- tag: options?.tag,
385
- public: options?.public,
386
- })
387
- );
388
- }
389
-
390
- async get(snapshotId: string): Promise<SnapshotInfo> {
391
- return withSpan('agentuity.sandbox.snapshot.get', { 'snapshot.id': snapshotId }, () =>
392
- snapshotGet(this.client, { snapshotId })
393
- );
394
- }
395
-
396
- async list(params?: SnapshotListParams): Promise<SnapshotListResponse> {
397
- return withSpan(
398
- 'agentuity.sandbox.snapshot.list',
399
- {
400
- 'snapshot.sandboxId': params?.sandboxId ?? '',
401
- 'snapshot.limit': params?.limit ?? 50,
402
- },
403
- () =>
404
- snapshotList(this.client, {
405
- sandboxId: params?.sandboxId,
406
- limit: params?.limit,
407
- offset: params?.offset,
408
- })
409
- );
410
- }
411
-
412
- async delete(snapshotId: string): Promise<void> {
413
- return withSpan('agentuity.sandbox.snapshot.delete', { 'snapshot.id': snapshotId }, () =>
414
- snapshotDelete(this.client, { snapshotId })
415
- );
416
- }
417
-
418
- async tag(snapshotId: string, tag: string | null): Promise<SnapshotInfo> {
419
- return withSpan(
420
- 'agentuity.sandbox.snapshot.tag',
421
- {
422
- 'snapshot.id': snapshotId,
423
- 'snapshot.tag': tag ?? '',
424
- },
425
- () => snapshotTag(this.client, { snapshotId, tag })
426
- );
427
- }
428
- }
429
-
430
- /**
431
- * HTTP implementation of the SandboxService interface
432
- */
433
- export class HTTPSandboxService implements SandboxService {
434
- private client: APIClient;
435
- private streamBaseUrl: string;
436
-
437
- /**
438
- * Snapshot management operations
439
- */
440
- public readonly snapshot: SnapshotService;
441
-
442
- constructor(client: APIClient, streamBaseUrl: string) {
443
- this.client = client;
444
- this.streamBaseUrl = streamBaseUrl;
445
- this.snapshot = new HTTPSnapshotService(client);
446
- }
447
-
448
- async run(options: SandboxRunOptions): Promise<SandboxRunResult> {
449
- return withSpan(
450
- 'agentuity.sandbox.run',
451
- {
452
- 'sandbox.command': options.command?.exec?.join(' ') ?? '',
453
- 'sandbox.mode': 'oneshot',
454
- },
455
- () => sandboxRun(this.client, { options })
456
- );
457
- }
458
-
459
- async create(options?: SandboxCreateOptions): Promise<Sandbox> {
460
- return withSpan(
461
- 'agentuity.sandbox.create',
462
- {
463
- 'sandbox.network': options?.network?.enabled ?? false,
464
- 'sandbox.snapshot': options?.snapshot ?? '',
465
- },
466
- async () => {
467
- const response = await sandboxCreate(this.client, { options });
468
- return createSandboxInstance(
469
- this.client,
470
- response.sandboxId,
471
- response.status,
472
- this.streamBaseUrl,
473
- response.stdoutStreamId,
474
- response.stderrStreamId,
475
- response.auditStreamId
476
- );
477
- }
478
- );
479
- }
480
-
481
- async get(sandboxId: string): Promise<SandboxInfo> {
482
- return withSpan('agentuity.sandbox.get', { 'sandbox.id': sandboxId }, () =>
483
- sandboxGet(this.client, { sandboxId })
484
- );
485
- }
486
-
487
- async list(params?: ListSandboxesParams): Promise<ListSandboxesResponse> {
488
- return withSpan(
489
- 'agentuity.sandbox.list',
490
- {
491
- 'sandbox.status': params?.status ?? '',
492
- 'sandbox.limit': params?.limit ?? 50,
493
- },
494
- () => sandboxList(this.client, params)
495
- );
496
- }
497
-
498
- async connect(sandboxId: string): Promise<Sandbox> {
499
- return withSpan('agentuity.sandbox.connect', { 'sandbox.id': sandboxId }, async () => {
500
- const info = await sandboxGet(this.client, { sandboxId });
501
- return createSandboxInstanceFromInfo(this.client, info);
502
- });
503
- }
504
-
505
- async destroy(sandboxId: string): Promise<void> {
506
- return withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () =>
507
- sandboxDestroy(this.client, { sandboxId })
508
- );
509
- }
510
-
511
- async pause(sandboxId: string): Promise<void> {
512
- return withSpan('agentuity.sandbox.pause', { 'sandbox.id': sandboxId }, () =>
513
- sandboxPause(this.client, { sandboxId })
514
- );
515
- }
516
-
517
- async resume(sandboxId: string): Promise<void> {
518
- return withSpan('agentuity.sandbox.resume', { 'sandbox.id': sandboxId }, () =>
519
- sandboxResume(this.client, { sandboxId })
520
- );
521
- }
522
- }
@@ -1 +0,0 @@
1
- export { HTTPSandboxService } from './http';
@@ -1,33 +0,0 @@
1
- import {
2
- type SessionCompleteEvent,
3
- type SessionEventProvider,
4
- type SessionStartEvent,
5
- } from '@agentuity/core';
6
-
7
- /**
8
- * A composite implementation of SessionEventProvider that forwards events to multiple providers
9
- */
10
- export class CompositeSessionEventProvider implements SessionEventProvider {
11
- private providers: SessionEventProvider[];
12
-
13
- constructor(...providers: SessionEventProvider[]) {
14
- this.providers = providers;
15
- }
16
- /**
17
- * called when the session starts
18
- *
19
- * @param event SessionStartEvent
20
- */
21
- async start(event: SessionStartEvent): Promise<void> {
22
- await Promise.all(this.providers.map((p) => p.start(event)));
23
- }
24
-
25
- /**
26
- * called when the session completes
27
- *
28
- * @param event SessionCompleteEvent
29
- */
30
- async complete(event: SessionCompleteEvent): Promise<void> {
31
- await Promise.all(this.providers.map((p) => p.complete(event)));
32
- }
33
- }