@openai/agents-core 0.8.4 → 0.9.0

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 (462) hide show
  1. package/dist/agentToolRunConfig.js +3 -0
  2. package/dist/agentToolRunConfig.js.map +1 -1
  3. package/dist/agentToolRunConfig.mjs +3 -0
  4. package/dist/agentToolRunConfig.mjs.map +1 -1
  5. package/dist/errors.d.ts +10 -0
  6. package/dist/errors.js +15 -1
  7. package/dist/errors.js.map +1 -1
  8. package/dist/errors.mjs +13 -0
  9. package/dist/errors.mjs.map +1 -1
  10. package/dist/handoff.js +1 -1
  11. package/dist/handoff.js.map +1 -1
  12. package/dist/handoff.mjs +1 -1
  13. package/dist/handoff.mjs.map +1 -1
  14. package/dist/index.d.ts +5 -4
  15. package/dist/index.js +6 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.mjs +3 -2
  18. package/dist/index.mjs.map +1 -1
  19. package/dist/items.d.ts +13 -0
  20. package/dist/items.js +15 -0
  21. package/dist/items.js.map +1 -1
  22. package/dist/items.mjs +15 -0
  23. package/dist/items.mjs.map +1 -1
  24. package/dist/memory/historyMutations.d.ts +6 -0
  25. package/dist/memory/historyMutations.js +32 -0
  26. package/dist/memory/historyMutations.js.map +1 -0
  27. package/dist/memory/historyMutations.mjs +29 -0
  28. package/dist/memory/historyMutations.mjs.map +1 -0
  29. package/dist/memory/memorySession.d.ts +3 -2
  30. package/dist/memory/memorySession.js +7 -0
  31. package/dist/memory/memorySession.js.map +1 -1
  32. package/dist/memory/memorySession.mjs +7 -0
  33. package/dist/memory/memorySession.mjs.map +1 -1
  34. package/dist/memory/session.d.ts +15 -0
  35. package/dist/memory/session.js +6 -0
  36. package/dist/memory/session.js.map +1 -1
  37. package/dist/memory/session.mjs +5 -0
  38. package/dist/memory/session.mjs.map +1 -1
  39. package/dist/metadata.js +2 -2
  40. package/dist/metadata.mjs +2 -2
  41. package/dist/model.d.ts +21 -0
  42. package/dist/run.d.ts +7 -1
  43. package/dist/run.js +116 -57
  44. package/dist/run.js.map +1 -1
  45. package/dist/run.mjs +117 -58
  46. package/dist/run.mjs.map +1 -1
  47. package/dist/runState.d.ts +83 -1
  48. package/dist/runState.js +96 -11
  49. package/dist/runState.js.map +1 -1
  50. package/dist/runState.mjs +95 -11
  51. package/dist/runState.mjs.map +1 -1
  52. package/dist/runner/errorHandlers.d.ts +13 -4
  53. package/dist/runner/errorHandlers.js +22 -4
  54. package/dist/runner/errorHandlers.js.map +1 -1
  55. package/dist/runner/errorHandlers.mjs +21 -4
  56. package/dist/runner/errorHandlers.mjs.map +1 -1
  57. package/dist/runner/items.js +11 -1
  58. package/dist/runner/items.js.map +1 -1
  59. package/dist/runner/items.mjs +11 -1
  60. package/dist/runner/items.mjs.map +1 -1
  61. package/dist/runner/modelPreparation.d.ts +1 -1
  62. package/dist/runner/modelPreparation.js +7 -7
  63. package/dist/runner/modelPreparation.js.map +1 -1
  64. package/dist/runner/modelPreparation.mjs +7 -7
  65. package/dist/runner/modelPreparation.mjs.map +1 -1
  66. package/dist/runner/runLoop.d.ts +2 -1
  67. package/dist/runner/runLoop.js +2 -2
  68. package/dist/runner/runLoop.js.map +1 -1
  69. package/dist/runner/runLoop.mjs +2 -2
  70. package/dist/runner/runLoop.mjs.map +1 -1
  71. package/dist/runner/sandbox.d.ts +33 -0
  72. package/dist/runner/sandbox.js +92 -0
  73. package/dist/runner/sandbox.js.map +1 -0
  74. package/dist/runner/sandbox.mjs +83 -0
  75. package/dist/runner/sandbox.mjs.map +1 -0
  76. package/dist/runner/toolExecution.js +25 -13
  77. package/dist/runner/toolExecution.js.map +1 -1
  78. package/dist/runner/toolExecution.mjs +25 -13
  79. package/dist/runner/toolExecution.mjs.map +1 -1
  80. package/dist/runner/tracing.js +1 -0
  81. package/dist/runner/tracing.js.map +1 -1
  82. package/dist/runner/tracing.mjs +1 -0
  83. package/dist/runner/tracing.mjs.map +1 -1
  84. package/dist/runner/turnPreparation.d.ts +2 -4
  85. package/dist/runner/turnPreparation.js +7 -3
  86. package/dist/runner/turnPreparation.js.map +1 -1
  87. package/dist/runner/turnPreparation.mjs +7 -3
  88. package/dist/runner/turnPreparation.mjs.map +1 -1
  89. package/dist/runner/turnResolution.js +158 -31
  90. package/dist/runner/turnResolution.js.map +1 -1
  91. package/dist/runner/turnResolution.mjs +160 -33
  92. package/dist/runner/turnResolution.mjs.map +1 -1
  93. package/dist/runner/types.d.ts +8 -8
  94. package/dist/sandbox/agent.d.ts +24 -0
  95. package/dist/sandbox/agent.js +68 -0
  96. package/dist/sandbox/agent.js.map +1 -0
  97. package/dist/sandbox/agent.mjs +64 -0
  98. package/dist/sandbox/agent.mjs.map +1 -0
  99. package/dist/sandbox/brand.d.ts +1 -0
  100. package/dist/sandbox/brand.js +5 -0
  101. package/dist/sandbox/brand.js.map +1 -0
  102. package/dist/sandbox/brand.mjs +2 -0
  103. package/dist/sandbox/brand.mjs.map +1 -0
  104. package/dist/sandbox/capabilities/base.d.ts +25 -0
  105. package/dist/sandbox/capabilities/base.js +89 -0
  106. package/dist/sandbox/capabilities/base.js.map +1 -0
  107. package/dist/sandbox/capabilities/base.mjs +84 -0
  108. package/dist/sandbox/capabilities/base.mjs.map +1 -0
  109. package/dist/sandbox/capabilities/compaction.d.ts +33 -0
  110. package/dist/sandbox/capabilities/compaction.js +172 -0
  111. package/dist/sandbox/capabilities/compaction.js.map +1 -0
  112. package/dist/sandbox/capabilities/compaction.mjs +164 -0
  113. package/dist/sandbox/capabilities/compaction.mjs.map +1 -0
  114. package/dist/sandbox/capabilities/filesystem.d.ts +14 -0
  115. package/dist/sandbox/capabilities/filesystem.js +447 -0
  116. package/dist/sandbox/capabilities/filesystem.js.map +1 -0
  117. package/dist/sandbox/capabilities/filesystem.mjs +444 -0
  118. package/dist/sandbox/capabilities/filesystem.mjs.map +1 -0
  119. package/dist/sandbox/capabilities/index.d.ts +19 -0
  120. package/dist/sandbox/capabilities/index.js +31 -0
  121. package/dist/sandbox/capabilities/index.js.map +1 -0
  122. package/dist/sandbox/capabilities/index.mjs +17 -0
  123. package/dist/sandbox/capabilities/index.mjs.map +1 -0
  124. package/dist/sandbox/capabilities/memory.d.ts +52 -0
  125. package/dist/sandbox/capabilities/memory.js +290 -0
  126. package/dist/sandbox/capabilities/memory.js.map +1 -0
  127. package/dist/sandbox/capabilities/memory.mjs +286 -0
  128. package/dist/sandbox/capabilities/memory.mjs.map +1 -0
  129. package/dist/sandbox/capabilities/shell.d.ts +15 -0
  130. package/dist/sandbox/capabilities/shell.js +130 -0
  131. package/dist/sandbox/capabilities/shell.js.map +1 -0
  132. package/dist/sandbox/capabilities/shell.mjs +127 -0
  133. package/dist/sandbox/capabilities/shell.mjs.map +1 -0
  134. package/dist/sandbox/capabilities/skills.d.ts +47 -0
  135. package/dist/sandbox/capabilities/skills.js +453 -0
  136. package/dist/sandbox/capabilities/skills.js.map +1 -0
  137. package/dist/sandbox/capabilities/skills.mjs +449 -0
  138. package/dist/sandbox/capabilities/skills.mjs.map +1 -0
  139. package/dist/sandbox/capabilities/transport.d.ts +3 -0
  140. package/dist/sandbox/capabilities/transport.js +33 -0
  141. package/dist/sandbox/capabilities/transport.js.map +1 -0
  142. package/dist/sandbox/capabilities/transport.mjs +28 -0
  143. package/dist/sandbox/capabilities/transport.mjs.map +1 -0
  144. package/dist/sandbox/client.d.ts +53 -0
  145. package/dist/sandbox/client.js +34 -0
  146. package/dist/sandbox/client.js.map +1 -0
  147. package/dist/sandbox/client.mjs +31 -0
  148. package/dist/sandbox/client.mjs.map +1 -0
  149. package/dist/sandbox/entries/factories.d.ts +17 -0
  150. package/dist/sandbox/entries/factories.js +112 -0
  151. package/dist/sandbox/entries/factories.js.map +1 -0
  152. package/dist/sandbox/entries/factories.mjs +94 -0
  153. package/dist/sandbox/entries/factories.mjs.map +1 -0
  154. package/dist/sandbox/entries/guards.d.ts +5 -0
  155. package/dist/sandbox/entries/guards.js +19 -0
  156. package/dist/sandbox/entries/guards.js.map +1 -0
  157. package/dist/sandbox/entries/guards.mjs +13 -0
  158. package/dist/sandbox/entries/guards.mjs.map +1 -0
  159. package/dist/sandbox/entries/index.d.ts +3 -0
  160. package/dist/sandbox/entries/index.js +26 -0
  161. package/dist/sandbox/entries/index.js.map +1 -0
  162. package/dist/sandbox/entries/index.mjs +3 -0
  163. package/dist/sandbox/entries/index.mjs.map +1 -0
  164. package/dist/sandbox/entries/types.d.ts +177 -0
  165. package/dist/sandbox/entries/types.js +3 -0
  166. package/dist/sandbox/entries/types.js.map +1 -0
  167. package/dist/sandbox/entries/types.mjs +2 -0
  168. package/dist/sandbox/entries/types.mjs.map +1 -0
  169. package/dist/sandbox/errors.d.ts +151 -0
  170. package/dist/sandbox/errors.js +303 -0
  171. package/dist/sandbox/errors.js.map +1 -0
  172. package/dist/sandbox/errors.mjs +251 -0
  173. package/dist/sandbox/errors.mjs.map +1 -0
  174. package/dist/sandbox/events.d.ts +51 -0
  175. package/dist/sandbox/events.js +104 -0
  176. package/dist/sandbox/events.js.map +1 -0
  177. package/dist/sandbox/events.mjs +95 -0
  178. package/dist/sandbox/events.mjs.map +1 -0
  179. package/dist/sandbox/index.d.ts +14 -0
  180. package/dist/sandbox/index.js +31 -0
  181. package/dist/sandbox/index.js.map +1 -0
  182. package/dist/sandbox/index.mjs +15 -0
  183. package/dist/sandbox/index.mjs.map +1 -0
  184. package/dist/sandbox/internal.d.ts +7 -0
  185. package/dist/sandbox/internal.js +46 -0
  186. package/dist/sandbox/internal.js.map +1 -0
  187. package/dist/sandbox/internal.mjs +8 -0
  188. package/dist/sandbox/internal.mjs.map +1 -0
  189. package/dist/sandbox/local.d.ts +3 -0
  190. package/dist/sandbox/local.js +20 -0
  191. package/dist/sandbox/local.js.map +1 -0
  192. package/dist/sandbox/local.mjs +4 -0
  193. package/dist/sandbox/local.mjs.map +1 -0
  194. package/dist/sandbox/localSkills.d.ts +13 -0
  195. package/dist/sandbox/localSkills.js +62 -0
  196. package/dist/sandbox/localSkills.js.map +1 -0
  197. package/dist/sandbox/localSkills.mjs +59 -0
  198. package/dist/sandbox/localSkills.mjs.map +1 -0
  199. package/dist/sandbox/manifest.d.ts +86 -0
  200. package/dist/sandbox/manifest.js +553 -0
  201. package/dist/sandbox/manifest.js.map +1 -0
  202. package/dist/sandbox/manifest.mjs +545 -0
  203. package/dist/sandbox/manifest.mjs.map +1 -0
  204. package/dist/sandbox/memory/generation.d.ts +56 -0
  205. package/dist/sandbox/memory/generation.js +426 -0
  206. package/dist/sandbox/memory/generation.js.map +1 -0
  207. package/dist/sandbox/memory/generation.mjs +385 -0
  208. package/dist/sandbox/memory/generation.mjs.map +1 -0
  209. package/dist/sandbox/memory/prompts.d.ts +16 -0
  210. package/dist/sandbox/memory/prompts.js +1685 -0
  211. package/dist/sandbox/memory/prompts.js.map +1 -0
  212. package/dist/sandbox/memory/prompts.mjs +1679 -0
  213. package/dist/sandbox/memory/prompts.mjs.map +1 -0
  214. package/dist/sandbox/memory/rollouts.d.ts +33 -0
  215. package/dist/sandbox/memory/rollouts.js +228 -0
  216. package/dist/sandbox/memory/rollouts.js.map +1 -0
  217. package/dist/sandbox/memory/rollouts.mjs +221 -0
  218. package/dist/sandbox/memory/rollouts.mjs.map +1 -0
  219. package/dist/sandbox/memory/storage.d.ts +70 -0
  220. package/dist/sandbox/memory/storage.js +543 -0
  221. package/dist/sandbox/memory/storage.js.map +1 -0
  222. package/dist/sandbox/memory/storage.mjs +537 -0
  223. package/dist/sandbox/memory/storage.mjs.map +1 -0
  224. package/dist/sandbox/pathGrants.d.ts +11 -0
  225. package/dist/sandbox/pathGrants.js +28 -0
  226. package/dist/sandbox/pathGrants.js.map +1 -0
  227. package/dist/sandbox/pathGrants.mjs +25 -0
  228. package/dist/sandbox/pathGrants.mjs.map +1 -0
  229. package/dist/sandbox/permissions.d.ts +29 -0
  230. package/dist/sandbox/permissions.js +140 -0
  231. package/dist/sandbox/permissions.js.map +1 -0
  232. package/dist/sandbox/permissions.mjs +134 -0
  233. package/dist/sandbox/permissions.mjs.map +1 -0
  234. package/dist/sandbox/runtime/agentKeys.d.ts +7 -0
  235. package/dist/sandbox/runtime/agentKeys.js +76 -0
  236. package/dist/sandbox/runtime/agentKeys.js.map +1 -0
  237. package/dist/sandbox/runtime/agentKeys.mjs +69 -0
  238. package/dist/sandbox/runtime/agentKeys.mjs.map +1 -0
  239. package/dist/sandbox/runtime/agentPreparation.d.ts +20 -0
  240. package/dist/sandbox/runtime/agentPreparation.js +178 -0
  241. package/dist/sandbox/runtime/agentPreparation.js.map +1 -0
  242. package/dist/sandbox/runtime/agentPreparation.mjs +172 -0
  243. package/dist/sandbox/runtime/agentPreparation.mjs.map +1 -0
  244. package/dist/sandbox/runtime/index.d.ts +5 -0
  245. package/dist/sandbox/runtime/index.js +22 -0
  246. package/dist/sandbox/runtime/index.js.map +1 -0
  247. package/dist/sandbox/runtime/index.mjs +6 -0
  248. package/dist/sandbox/runtime/index.mjs.map +1 -0
  249. package/dist/sandbox/runtime/livePreservedSessions.d.ts +25 -0
  250. package/dist/sandbox/runtime/livePreservedSessions.js +58 -0
  251. package/dist/sandbox/runtime/livePreservedSessions.js.map +1 -0
  252. package/dist/sandbox/runtime/livePreservedSessions.mjs +51 -0
  253. package/dist/sandbox/runtime/livePreservedSessions.mjs.map +1 -0
  254. package/dist/sandbox/runtime/manager.d.ts +68 -0
  255. package/dist/sandbox/runtime/manager.js +704 -0
  256. package/dist/sandbox/runtime/manager.js.map +1 -0
  257. package/dist/sandbox/runtime/manager.mjs +697 -0
  258. package/dist/sandbox/runtime/manager.mjs.map +1 -0
  259. package/dist/sandbox/runtime/prompts.d.ts +6 -0
  260. package/dist/sandbox/runtime/prompts.js +108 -0
  261. package/dist/sandbox/runtime/prompts.js.map +1 -0
  262. package/dist/sandbox/runtime/prompts.mjs +101 -0
  263. package/dist/sandbox/runtime/prompts.mjs.map +1 -0
  264. package/dist/sandbox/runtime/providedSessionManifest.d.ts +3 -0
  265. package/dist/sandbox/runtime/providedSessionManifest.js +175 -0
  266. package/dist/sandbox/runtime/providedSessionManifest.js.map +1 -0
  267. package/dist/sandbox/runtime/providedSessionManifest.mjs +172 -0
  268. package/dist/sandbox/runtime/providedSessionManifest.mjs.map +1 -0
  269. package/dist/sandbox/runtime/runAsManifest.d.ts +4 -0
  270. package/dist/sandbox/runtime/runAsManifest.js +40 -0
  271. package/dist/sandbox/runtime/runAsManifest.js.map +1 -0
  272. package/dist/sandbox/runtime/runAsManifest.mjs +36 -0
  273. package/dist/sandbox/runtime/runAsManifest.mjs.map +1 -0
  274. package/dist/sandbox/runtime/sessionLifecycle.d.ts +6 -0
  275. package/dist/sandbox/runtime/sessionLifecycle.js +222 -0
  276. package/dist/sandbox/runtime/sessionLifecycle.js.map +1 -0
  277. package/dist/sandbox/runtime/sessionLifecycle.mjs +215 -0
  278. package/dist/sandbox/runtime/sessionLifecycle.mjs.map +1 -0
  279. package/dist/sandbox/runtime/sessionSerialization.d.ts +12 -0
  280. package/dist/sandbox/runtime/sessionSerialization.js +74 -0
  281. package/dist/sandbox/runtime/sessionSerialization.js.map +1 -0
  282. package/dist/sandbox/runtime/sessionSerialization.mjs +71 -0
  283. package/dist/sandbox/runtime/sessionSerialization.mjs.map +1 -0
  284. package/dist/sandbox/runtime/sessionState.d.ts +26 -0
  285. package/dist/sandbox/runtime/sessionState.js +113 -0
  286. package/dist/sandbox/runtime/sessionState.js.map +1 -0
  287. package/dist/sandbox/runtime/sessionState.mjs +104 -0
  288. package/dist/sandbox/runtime/sessionState.mjs.map +1 -0
  289. package/dist/sandbox/runtime/spans.d.ts +1 -0
  290. package/dist/sandbox/runtime/spans.js +51 -0
  291. package/dist/sandbox/runtime/spans.js.map +1 -0
  292. package/dist/sandbox/runtime/spans.mjs +48 -0
  293. package/dist/sandbox/runtime/spans.mjs.map +1 -0
  294. package/dist/sandbox/runtime/toolRehydration.d.ts +34 -0
  295. package/dist/sandbox/runtime/toolRehydration.js +207 -0
  296. package/dist/sandbox/runtime/toolRehydration.js.map +1 -0
  297. package/dist/sandbox/runtime/toolRehydration.mjs +200 -0
  298. package/dist/sandbox/runtime/toolRehydration.mjs.map +1 -0
  299. package/dist/sandbox/sandboxes/docker.d.ts +75 -0
  300. package/dist/sandbox/sandboxes/docker.js +2015 -0
  301. package/dist/sandbox/sandboxes/docker.js.map +1 -0
  302. package/dist/sandbox/sandboxes/docker.mjs +2010 -0
  303. package/dist/sandbox/sandboxes/docker.mjs.map +1 -0
  304. package/dist/sandbox/sandboxes/index.d.ts +3 -0
  305. package/dist/sandbox/sandboxes/index.js +20 -0
  306. package/dist/sandbox/sandboxes/index.js.map +1 -0
  307. package/dist/sandbox/sandboxes/index.mjs +4 -0
  308. package/dist/sandbox/sandboxes/index.mjs.map +1 -0
  309. package/dist/sandbox/sandboxes/shared/localSnapshotPaths.d.ts +1 -0
  310. package/dist/sandbox/sandboxes/shared/localSnapshotPaths.js +22 -0
  311. package/dist/sandbox/sandboxes/shared/localSnapshotPaths.js.map +1 -0
  312. package/dist/sandbox/sandboxes/shared/localSnapshotPaths.mjs +19 -0
  313. package/dist/sandbox/sandboxes/shared/localSnapshotPaths.mjs.map +1 -0
  314. package/dist/sandbox/sandboxes/shared/localSnapshots.d.ts +34 -0
  315. package/dist/sandbox/sandboxes/shared/localSnapshots.js +525 -0
  316. package/dist/sandbox/sandboxes/shared/localSnapshots.js.map +1 -0
  317. package/dist/sandbox/sandboxes/shared/localSnapshots.mjs +508 -0
  318. package/dist/sandbox/sandboxes/shared/localSnapshots.mjs.map +1 -0
  319. package/dist/sandbox/sandboxes/shared/localWorkspace.d.ts +27 -0
  320. package/dist/sandbox/sandboxes/shared/localWorkspace.js +693 -0
  321. package/dist/sandbox/sandboxes/shared/localWorkspace.js.map +1 -0
  322. package/dist/sandbox/sandboxes/shared/localWorkspace.mjs +684 -0
  323. package/dist/sandbox/sandboxes/shared/localWorkspace.mjs.map +1 -0
  324. package/dist/sandbox/sandboxes/shared/manifestPersistence.d.ts +15 -0
  325. package/dist/sandbox/sandboxes/shared/manifestPersistence.js +191 -0
  326. package/dist/sandbox/sandboxes/shared/manifestPersistence.js.map +1 -0
  327. package/dist/sandbox/sandboxes/shared/manifestPersistence.mjs +182 -0
  328. package/dist/sandbox/sandboxes/shared/manifestPersistence.mjs.map +1 -0
  329. package/dist/sandbox/sandboxes/shared/pty.d.ts +9 -0
  330. package/dist/sandbox/sandboxes/shared/pty.js +151 -0
  331. package/dist/sandbox/sandboxes/shared/pty.js.map +1 -0
  332. package/dist/sandbox/sandboxes/shared/pty.mjs +148 -0
  333. package/dist/sandbox/sandboxes/shared/pty.mjs.map +1 -0
  334. package/dist/sandbox/sandboxes/shared/runProcess.d.ts +16 -0
  335. package/dist/sandbox/sandboxes/shared/runProcess.js +90 -0
  336. package/dist/sandbox/sandboxes/shared/runProcess.js.map +1 -0
  337. package/dist/sandbox/sandboxes/shared/runProcess.mjs +86 -0
  338. package/dist/sandbox/sandboxes/shared/runProcess.mjs.map +1 -0
  339. package/dist/sandbox/sandboxes/shared/sessionStateValues.d.ts +18 -0
  340. package/dist/sandbox/sandboxes/shared/sessionStateValues.js +40 -0
  341. package/dist/sandbox/sandboxes/shared/sessionStateValues.js.map +1 -0
  342. package/dist/sandbox/sandboxes/shared/sessionStateValues.mjs +35 -0
  343. package/dist/sandbox/sandboxes/shared/sessionStateValues.mjs.map +1 -0
  344. package/dist/sandbox/sandboxes/shared/shellCommand.d.ts +17 -0
  345. package/dist/sandbox/sandboxes/shared/shellCommand.js +38 -0
  346. package/dist/sandbox/sandboxes/shared/shellCommand.js.map +1 -0
  347. package/dist/sandbox/sandboxes/shared/shellCommand.mjs +34 -0
  348. package/dist/sandbox/sandboxes/shared/shellCommand.mjs.map +1 -0
  349. package/dist/sandbox/sandboxes/types.d.ts +11 -0
  350. package/dist/sandbox/sandboxes/types.js +3 -0
  351. package/dist/sandbox/sandboxes/types.js.map +1 -0
  352. package/dist/sandbox/sandboxes/types.mjs +2 -0
  353. package/dist/sandbox/sandboxes/types.mjs.map +1 -0
  354. package/dist/sandbox/sandboxes/unixLocal.d.ts +95 -0
  355. package/dist/sandbox/sandboxes/unixLocal.js +863 -0
  356. package/dist/sandbox/sandboxes/unixLocal.js.map +1 -0
  357. package/dist/sandbox/sandboxes/unixLocal.mjs +858 -0
  358. package/dist/sandbox/sandboxes/unixLocal.mjs.map +1 -0
  359. package/dist/sandbox/session.d.ts +123 -0
  360. package/dist/sandbox/session.js +58 -0
  361. package/dist/sandbox/session.js.map +1 -0
  362. package/dist/sandbox/session.mjs +50 -0
  363. package/dist/sandbox/session.mjs.map +1 -0
  364. package/dist/sandbox/shared/compare.d.ts +2 -0
  365. package/dist/sandbox/shared/compare.js +13 -0
  366. package/dist/sandbox/shared/compare.js.map +1 -0
  367. package/dist/sandbox/shared/compare.mjs +9 -0
  368. package/dist/sandbox/shared/compare.mjs.map +1 -0
  369. package/dist/sandbox/shared/environment.d.ts +14 -0
  370. package/dist/sandbox/shared/environment.js +69 -0
  371. package/dist/sandbox/shared/environment.js.map +1 -0
  372. package/dist/sandbox/shared/environment.mjs +59 -0
  373. package/dist/sandbox/shared/environment.mjs.map +1 -0
  374. package/dist/sandbox/shared/hostPath.d.ts +4 -0
  375. package/dist/sandbox/shared/hostPath.js +22 -0
  376. package/dist/sandbox/shared/hostPath.js.map +1 -0
  377. package/dist/sandbox/shared/hostPath.mjs +16 -0
  378. package/dist/sandbox/shared/hostPath.mjs.map +1 -0
  379. package/dist/sandbox/shared/manifestCollections.d.ts +12 -0
  380. package/dist/sandbox/shared/manifestCollections.js +40 -0
  381. package/dist/sandbox/shared/manifestCollections.js.map +1 -0
  382. package/dist/sandbox/shared/manifestCollections.mjs +34 -0
  383. package/dist/sandbox/shared/manifestCollections.mjs.map +1 -0
  384. package/dist/sandbox/shared/media.d.ts +6 -0
  385. package/dist/sandbox/shared/media.js +126 -0
  386. package/dist/sandbox/shared/media.js.map +1 -0
  387. package/dist/sandbox/shared/media.mjs +119 -0
  388. package/dist/sandbox/shared/media.mjs.map +1 -0
  389. package/dist/sandbox/shared/output.d.ts +12 -0
  390. package/dist/sandbox/shared/output.js +108 -0
  391. package/dist/sandbox/shared/output.js.map +1 -0
  392. package/dist/sandbox/shared/output.mjs +103 -0
  393. package/dist/sandbox/shared/output.mjs.map +1 -0
  394. package/dist/sandbox/shared/posixPath.d.ts +7 -0
  395. package/dist/sandbox/shared/posixPath.js +90 -0
  396. package/dist/sandbox/shared/posixPath.js.map +1 -0
  397. package/dist/sandbox/shared/posixPath.mjs +81 -0
  398. package/dist/sandbox/shared/posixPath.mjs.map +1 -0
  399. package/dist/sandbox/shared/remoteMountCommandAllowlist.d.ts +3 -0
  400. package/dist/sandbox/shared/remoteMountCommandAllowlist.js +33 -0
  401. package/dist/sandbox/shared/remoteMountCommandAllowlist.js.map +1 -0
  402. package/dist/sandbox/shared/remoteMountCommandAllowlist.mjs +28 -0
  403. package/dist/sandbox/shared/remoteMountCommandAllowlist.mjs.map +1 -0
  404. package/dist/sandbox/shared/shell.d.ts +1 -0
  405. package/dist/sandbox/shared/shell.js +7 -0
  406. package/dist/sandbox/shared/shell.js.map +1 -0
  407. package/dist/sandbox/shared/shell.mjs +4 -0
  408. package/dist/sandbox/shared/shell.mjs.map +1 -0
  409. package/dist/sandbox/shared/stableJson.d.ts +12 -0
  410. package/dist/sandbox/shared/stableJson.js +40 -0
  411. package/dist/sandbox/shared/stableJson.js.map +1 -0
  412. package/dist/sandbox/shared/stableJson.mjs +35 -0
  413. package/dist/sandbox/shared/stableJson.mjs.map +1 -0
  414. package/dist/sandbox/shared/typeGuards.d.ts +6 -0
  415. package/dist/sandbox/shared/typeGuards.js +34 -0
  416. package/dist/sandbox/shared/typeGuards.js.map +1 -0
  417. package/dist/sandbox/shared/typeGuards.mjs +26 -0
  418. package/dist/sandbox/shared/typeGuards.mjs.map +1 -0
  419. package/dist/sandbox/snapshot.d.ts +60 -0
  420. package/dist/sandbox/snapshot.js +45 -0
  421. package/dist/sandbox/snapshot.js.map +1 -0
  422. package/dist/sandbox/snapshot.mjs +39 -0
  423. package/dist/sandbox/snapshot.mjs.map +1 -0
  424. package/dist/sandbox/users.d.ts +11 -0
  425. package/dist/sandbox/users.js +31 -0
  426. package/dist/sandbox/users.js.map +1 -0
  427. package/dist/sandbox/users.mjs +26 -0
  428. package/dist/sandbox/users.mjs.map +1 -0
  429. package/dist/sandbox/workspacePaths.d.ts +20 -0
  430. package/dist/sandbox/workspacePaths.js +73 -0
  431. package/dist/sandbox/workspacePaths.js.map +1 -0
  432. package/dist/sandbox/workspacePaths.mjs +69 -0
  433. package/dist/sandbox/workspacePaths.mjs.map +1 -0
  434. package/dist/tool.js +1 -1
  435. package/dist/tool.js.map +1 -1
  436. package/dist/tool.mjs +1 -1
  437. package/dist/tool.mjs.map +1 -1
  438. package/dist/types/protocol.d.ts +8 -0
  439. package/dist/types/protocol.js +1 -0
  440. package/dist/types/protocol.js.map +1 -1
  441. package/dist/types/protocol.mjs +1 -0
  442. package/dist/types/protocol.mjs.map +1 -1
  443. package/dist/utils/messages.d.ts +6 -0
  444. package/dist/utils/messages.js +21 -0
  445. package/dist/utils/messages.js.map +1 -1
  446. package/dist/utils/messages.mjs +20 -0
  447. package/dist/utils/messages.mjs.map +1 -1
  448. package/dist/utils/strictToolSchema.d.ts +4 -0
  449. package/dist/utils/strictToolSchema.js +358 -0
  450. package/dist/utils/strictToolSchema.js.map +1 -0
  451. package/dist/utils/strictToolSchema.mjs +353 -0
  452. package/dist/utils/strictToolSchema.mjs.map +1 -0
  453. package/dist/utils/tools.d.ts +3 -1
  454. package/dist/utils/tools.js +18 -7
  455. package/dist/utils/tools.js.map +1 -1
  456. package/dist/utils/tools.mjs +18 -7
  457. package/dist/utils/tools.mjs.map +1 -1
  458. package/dist/utils/zodJsonSchemaCompat.js +18 -16
  459. package/dist/utils/zodJsonSchemaCompat.js.map +1 -1
  460. package/dist/utils/zodJsonSchemaCompat.mjs +18 -16
  461. package/dist/utils/zodJsonSchemaCompat.mjs.map +1 -1
  462. package/package.json +25 -1
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDefaultSandboxInstructions = void 0;
4
+ exports.cloneSandboxCapabilities = cloneSandboxCapabilities;
5
+ exports.prepareSandboxAgent = prepareSandboxAgent;
6
+ const defaultModel_1 = require("../../defaultModel.js");
7
+ const errors_1 = require("../../errors.js");
8
+ const modelSettings_1 = require("../../runner/modelSettings.js");
9
+ const manifest_1 = require("../manifest.js");
10
+ const prompts_1 = require("./prompts.js");
11
+ const runAsManifest_1 = require("./runAsManifest.js");
12
+ var prompts_2 = require("./prompts.js");
13
+ Object.defineProperty(exports, "getDefaultSandboxInstructions", { enumerable: true, get: function () { return prompts_2.getDefaultSandboxInstructions; } });
14
+ function cloneSandboxCapabilities(capabilities) {
15
+ return capabilities.map((capability) => capability.clone());
16
+ }
17
+ function prepareSandboxAgent({ agent, session, capabilities, runConfigModel, processManifest = true, }) {
18
+ const { model: resolvedModel, modelInstance: resolvedModelInstance } = resolveSandboxModel(agent, runConfigModel);
19
+ // Capabilities are cloned before binding because tools, instructions, and model
20
+ // sampling parameters can depend on the live session for this run.
21
+ const boundCapabilities = cloneSandboxCapabilities(capabilities ?? agent.capabilities).map((capability) => capability
22
+ .bind(session)
23
+ .bindRunAs(agent.runAs)
24
+ .bindModel(resolvedModel, resolvedModelInstance));
25
+ const boundCapabilityTypes = new Set(boundCapabilities.map((capability) => capability.type));
26
+ const runtimeManifest = processManifest
27
+ ? boundCapabilities.reduce((manifest, capability) => capability.processManifest(manifest), resolveManifest(agent, session))
28
+ : resolveManifest(agent, session);
29
+ for (const capability of boundCapabilities) {
30
+ const missingTypes = [...capability.requiredCapabilityTypes()].filter((requiredType) => !boundCapabilityTypes.has(requiredType));
31
+ if (missingTypes.length > 0) {
32
+ throw new errors_1.UserError(`${capability.type} requires missing capabilities: ${missingTypes.sort().join(', ')}`);
33
+ }
34
+ }
35
+ const providerData = boundCapabilities.reduce((samplingParams, capability) =>
36
+ // Provider data often nests model-specific settings; merge recursively so a
37
+ // capability can add its section without replacing user-supplied siblings.
38
+ mergeSandboxProviderData(samplingParams, capability.samplingParams({
39
+ model: resolvedModel,
40
+ ...(resolvedModelInstance
41
+ ? { modelInstance: resolvedModelInstance }
42
+ : {}),
43
+ })), {});
44
+ const tools = [
45
+ ...agent.tools,
46
+ ...boundCapabilities.flatMap((capability) => capability.tools()),
47
+ ];
48
+ const prepared = agent.clone({
49
+ capabilities: boundCapabilities,
50
+ tools,
51
+ modelSettings: {
52
+ ...agent.modelSettings,
53
+ providerData: mergeSandboxProviderData(agent.modelSettings.providerData, providerData),
54
+ },
55
+ instructions: async (runContext, preparedAgent) => {
56
+ const capabilityInstructions = await Promise.all(boundCapabilities.map((capability) => capability.instructions(runtimeManifest)));
57
+ const segments = [];
58
+ const baseInstructions = await renderBaseInstructions(agent, runContext, preparedAgent);
59
+ if (baseInstructions) {
60
+ segments.push(baseInstructions);
61
+ }
62
+ const agentInstructions = await renderAgentInstructions(agent.instructions, runContext, preparedAgent);
63
+ if (agentInstructions) {
64
+ segments.push((0, prompts_1.renderInstructionSection)('Agent instructions', agentInstructions));
65
+ }
66
+ const capabilityFragments = capabilityInstructions.filter((fragment) => Boolean(fragment));
67
+ if (capabilityFragments.length > 0) {
68
+ segments.push((0, prompts_1.renderInstructionSection)('Sandbox capability instructions', capabilityFragments.join('\n\n')));
69
+ }
70
+ const remoteMountPolicy = (0, prompts_1.renderRemoteMountPolicyInstructions)(runtimeManifest);
71
+ if (remoteMountPolicy) {
72
+ segments.push((0, prompts_1.renderInstructionSection)('Sandbox remote mount policy', remoteMountPolicy));
73
+ }
74
+ segments.push((0, prompts_1.renderFilesystemInstructions)(runtimeManifest));
75
+ return segments.join('\n\n');
76
+ },
77
+ });
78
+ if (tools.length === 0 && !agent.hasExplicitToolConfig()) {
79
+ // agent.clone() sees an explicit tools array, but an empty post-capability tool set
80
+ // should preserve the original "no explicit tools" semantics for tool choice.
81
+ prepared._toolsExplicitlyConfigured = false;
82
+ }
83
+ prepared.runtimeManifest = runtimeManifest;
84
+ return prepared;
85
+ }
86
+ function resolveManifest(agent, session) {
87
+ const manifestCandidate = session.state.manifest ?? agent.defaultManifest ?? new manifest_1.Manifest();
88
+ return (0, runAsManifest_1.manifestWithRunAsUser)((0, manifest_1.cloneManifest)(manifestCandidate), agent.runAs);
89
+ }
90
+ function resolveSandboxModel(agent, runConfigModel) {
91
+ let runConfigModelForSelection;
92
+ let runConfigModelInstance;
93
+ if (isResolvedSandboxRuntimeModel(runConfigModel)) {
94
+ runConfigModelForSelection = runConfigModel.model;
95
+ runConfigModelInstance = runConfigModel.modelInstance;
96
+ }
97
+ else {
98
+ runConfigModelForSelection = runConfigModel;
99
+ runConfigModelInstance =
100
+ runConfigModel && typeof runConfigModel !== 'string'
101
+ ? runConfigModel
102
+ : undefined;
103
+ }
104
+ const selectedModel = (0, modelSettings_1.selectModel)(agent.model, runConfigModelForSelection);
105
+ if (typeof selectedModel === 'string' && selectedModel.trim().length > 0) {
106
+ return {
107
+ model: selectedModel,
108
+ ...(selectedModel === runConfigModelForSelection && runConfigModelInstance
109
+ ? { modelInstance: runConfigModelInstance }
110
+ : {}),
111
+ };
112
+ }
113
+ if (selectedModel && typeof selectedModel !== 'string') {
114
+ return {
115
+ model: getSandboxRuntimeModelName(selectedModel) ?? (0, defaultModel_1.getDefaultModel)(),
116
+ modelInstance: selectedModel,
117
+ };
118
+ }
119
+ return {
120
+ model: (0, defaultModel_1.getDefaultModel)(),
121
+ ...(runConfigModelInstance
122
+ ? { modelInstance: runConfigModelInstance }
123
+ : {}),
124
+ };
125
+ }
126
+ function isResolvedSandboxRuntimeModel(model) {
127
+ return (typeof model === 'object' &&
128
+ model !== null &&
129
+ 'model' in model &&
130
+ typeof model.model === 'string' &&
131
+ 'modelInstance' in model);
132
+ }
133
+ function getSandboxRuntimeModelName(model) {
134
+ const candidate = model?.model ??
135
+ model?.name;
136
+ return typeof candidate === 'string' && candidate.trim().length > 0
137
+ ? candidate
138
+ : undefined;
139
+ }
140
+ async function renderAgentInstructions(instructions, runContext, agent) {
141
+ if (typeof instructions === 'function') {
142
+ return await instructions(runContext, agent);
143
+ }
144
+ return instructions;
145
+ }
146
+ async function renderBaseInstructions(agent, runContext, preparedAgent) {
147
+ const baseInstructions = agent.baseInstructions ?? (0, prompts_1.getDefaultSandboxInstructions)();
148
+ if (typeof baseInstructions === 'function') {
149
+ return await baseInstructions(runContext, preparedAgent);
150
+ }
151
+ return baseInstructions;
152
+ }
153
+ function mergeSandboxProviderData(base, update) {
154
+ if (!base) {
155
+ return mergePlainRecords({}, update);
156
+ }
157
+ return mergePlainRecords(base, update);
158
+ }
159
+ function mergePlainRecords(base, update) {
160
+ const merged = { ...base };
161
+ for (const [key, updateValue] of Object.entries(update)) {
162
+ const baseValue = merged[key];
163
+ if (isPlainRecord(baseValue) && isPlainRecord(updateValue)) {
164
+ merged[key] = mergePlainRecords(baseValue, updateValue);
165
+ continue;
166
+ }
167
+ merged[key] = updateValue;
168
+ }
169
+ return merged;
170
+ }
171
+ function isPlainRecord(value) {
172
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
173
+ return false;
174
+ }
175
+ const prototype = Object.getPrototypeOf(value);
176
+ return prototype === Object.prototype || prototype === null;
177
+ }
178
+ //# sourceMappingURL=agentPreparation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentPreparation.js","sourceRoot":"","sources":["../../../src/sandbox/runtime/agentPreparation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import { getDefaultModel } from "../../defaultModel.mjs";
2
+ import { UserError } from "../../errors.mjs";
3
+ import { selectModel } from "../../runner/modelSettings.mjs";
4
+ import { cloneManifest, Manifest } from "../manifest.mjs";
5
+ import { getDefaultSandboxInstructions, renderFilesystemInstructions, renderInstructionSection, renderRemoteMountPolicyInstructions, } from "./prompts.mjs";
6
+ import { manifestWithRunAsUser } from "./runAsManifest.mjs";
7
+ export { getDefaultSandboxInstructions } from "./prompts.mjs";
8
+ export function cloneSandboxCapabilities(capabilities) {
9
+ return capabilities.map((capability) => capability.clone());
10
+ }
11
+ export function prepareSandboxAgent({ agent, session, capabilities, runConfigModel, processManifest = true, }) {
12
+ const { model: resolvedModel, modelInstance: resolvedModelInstance } = resolveSandboxModel(agent, runConfigModel);
13
+ // Capabilities are cloned before binding because tools, instructions, and model
14
+ // sampling parameters can depend on the live session for this run.
15
+ const boundCapabilities = cloneSandboxCapabilities(capabilities ?? agent.capabilities).map((capability) => capability
16
+ .bind(session)
17
+ .bindRunAs(agent.runAs)
18
+ .bindModel(resolvedModel, resolvedModelInstance));
19
+ const boundCapabilityTypes = new Set(boundCapabilities.map((capability) => capability.type));
20
+ const runtimeManifest = processManifest
21
+ ? boundCapabilities.reduce((manifest, capability) => capability.processManifest(manifest), resolveManifest(agent, session))
22
+ : resolveManifest(agent, session);
23
+ for (const capability of boundCapabilities) {
24
+ const missingTypes = [...capability.requiredCapabilityTypes()].filter((requiredType) => !boundCapabilityTypes.has(requiredType));
25
+ if (missingTypes.length > 0) {
26
+ throw new UserError(`${capability.type} requires missing capabilities: ${missingTypes.sort().join(', ')}`);
27
+ }
28
+ }
29
+ const providerData = boundCapabilities.reduce((samplingParams, capability) =>
30
+ // Provider data often nests model-specific settings; merge recursively so a
31
+ // capability can add its section without replacing user-supplied siblings.
32
+ mergeSandboxProviderData(samplingParams, capability.samplingParams({
33
+ model: resolvedModel,
34
+ ...(resolvedModelInstance
35
+ ? { modelInstance: resolvedModelInstance }
36
+ : {}),
37
+ })), {});
38
+ const tools = [
39
+ ...agent.tools,
40
+ ...boundCapabilities.flatMap((capability) => capability.tools()),
41
+ ];
42
+ const prepared = agent.clone({
43
+ capabilities: boundCapabilities,
44
+ tools,
45
+ modelSettings: {
46
+ ...agent.modelSettings,
47
+ providerData: mergeSandboxProviderData(agent.modelSettings.providerData, providerData),
48
+ },
49
+ instructions: async (runContext, preparedAgent) => {
50
+ const capabilityInstructions = await Promise.all(boundCapabilities.map((capability) => capability.instructions(runtimeManifest)));
51
+ const segments = [];
52
+ const baseInstructions = await renderBaseInstructions(agent, runContext, preparedAgent);
53
+ if (baseInstructions) {
54
+ segments.push(baseInstructions);
55
+ }
56
+ const agentInstructions = await renderAgentInstructions(agent.instructions, runContext, preparedAgent);
57
+ if (agentInstructions) {
58
+ segments.push(renderInstructionSection('Agent instructions', agentInstructions));
59
+ }
60
+ const capabilityFragments = capabilityInstructions.filter((fragment) => Boolean(fragment));
61
+ if (capabilityFragments.length > 0) {
62
+ segments.push(renderInstructionSection('Sandbox capability instructions', capabilityFragments.join('\n\n')));
63
+ }
64
+ const remoteMountPolicy = renderRemoteMountPolicyInstructions(runtimeManifest);
65
+ if (remoteMountPolicy) {
66
+ segments.push(renderInstructionSection('Sandbox remote mount policy', remoteMountPolicy));
67
+ }
68
+ segments.push(renderFilesystemInstructions(runtimeManifest));
69
+ return segments.join('\n\n');
70
+ },
71
+ });
72
+ if (tools.length === 0 && !agent.hasExplicitToolConfig()) {
73
+ // agent.clone() sees an explicit tools array, but an empty post-capability tool set
74
+ // should preserve the original "no explicit tools" semantics for tool choice.
75
+ prepared._toolsExplicitlyConfigured = false;
76
+ }
77
+ prepared.runtimeManifest = runtimeManifest;
78
+ return prepared;
79
+ }
80
+ function resolveManifest(agent, session) {
81
+ const manifestCandidate = session.state.manifest ?? agent.defaultManifest ?? new Manifest();
82
+ return manifestWithRunAsUser(cloneManifest(manifestCandidate), agent.runAs);
83
+ }
84
+ function resolveSandboxModel(agent, runConfigModel) {
85
+ let runConfigModelForSelection;
86
+ let runConfigModelInstance;
87
+ if (isResolvedSandboxRuntimeModel(runConfigModel)) {
88
+ runConfigModelForSelection = runConfigModel.model;
89
+ runConfigModelInstance = runConfigModel.modelInstance;
90
+ }
91
+ else {
92
+ runConfigModelForSelection = runConfigModel;
93
+ runConfigModelInstance =
94
+ runConfigModel && typeof runConfigModel !== 'string'
95
+ ? runConfigModel
96
+ : undefined;
97
+ }
98
+ const selectedModel = selectModel(agent.model, runConfigModelForSelection);
99
+ if (typeof selectedModel === 'string' && selectedModel.trim().length > 0) {
100
+ return {
101
+ model: selectedModel,
102
+ ...(selectedModel === runConfigModelForSelection && runConfigModelInstance
103
+ ? { modelInstance: runConfigModelInstance }
104
+ : {}),
105
+ };
106
+ }
107
+ if (selectedModel && typeof selectedModel !== 'string') {
108
+ return {
109
+ model: getSandboxRuntimeModelName(selectedModel) ?? getDefaultModel(),
110
+ modelInstance: selectedModel,
111
+ };
112
+ }
113
+ return {
114
+ model: getDefaultModel(),
115
+ ...(runConfigModelInstance
116
+ ? { modelInstance: runConfigModelInstance }
117
+ : {}),
118
+ };
119
+ }
120
+ function isResolvedSandboxRuntimeModel(model) {
121
+ return (typeof model === 'object' &&
122
+ model !== null &&
123
+ 'model' in model &&
124
+ typeof model.model === 'string' &&
125
+ 'modelInstance' in model);
126
+ }
127
+ function getSandboxRuntimeModelName(model) {
128
+ const candidate = model?.model ??
129
+ model?.name;
130
+ return typeof candidate === 'string' && candidate.trim().length > 0
131
+ ? candidate
132
+ : undefined;
133
+ }
134
+ async function renderAgentInstructions(instructions, runContext, agent) {
135
+ if (typeof instructions === 'function') {
136
+ return await instructions(runContext, agent);
137
+ }
138
+ return instructions;
139
+ }
140
+ async function renderBaseInstructions(agent, runContext, preparedAgent) {
141
+ const baseInstructions = agent.baseInstructions ?? getDefaultSandboxInstructions();
142
+ if (typeof baseInstructions === 'function') {
143
+ return await baseInstructions(runContext, preparedAgent);
144
+ }
145
+ return baseInstructions;
146
+ }
147
+ function mergeSandboxProviderData(base, update) {
148
+ if (!base) {
149
+ return mergePlainRecords({}, update);
150
+ }
151
+ return mergePlainRecords(base, update);
152
+ }
153
+ function mergePlainRecords(base, update) {
154
+ const merged = { ...base };
155
+ for (const [key, updateValue] of Object.entries(update)) {
156
+ const baseValue = merged[key];
157
+ if (isPlainRecord(baseValue) && isPlainRecord(updateValue)) {
158
+ merged[key] = mergePlainRecords(baseValue, updateValue);
159
+ continue;
160
+ }
161
+ merged[key] = updateValue;
162
+ }
163
+ return merged;
164
+ }
165
+ function isPlainRecord(value) {
166
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
167
+ return false;
168
+ }
169
+ const prototype = Object.getPrototypeOf(value);
170
+ return prototype === Object.prototype || prototype === null;
171
+ }
172
+ //# sourceMappingURL=agentPreparation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentPreparation.mjs","sourceRoot":"","sources":["../../../src/sandbox/runtime/agentPreparation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './agentPreparation';
2
+ export * from './manager';
3
+ export * from './runAsManifest';
4
+ export * from './spans';
5
+ export * from './toolRehydration';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./agentPreparation.js"), exports);
18
+ __exportStar(require("./manager.js"), exports);
19
+ __exportStar(require("./runAsManifest.js"), exports);
20
+ __exportStar(require("./spans.js"), exports);
21
+ __exportStar(require("./toolRehydration.js"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sandbox/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAmC;AACnC,+CAA0B;AAC1B,qDAAgC;AAChC,6CAAwB;AACxB,uDAAkC"}
@@ -0,0 +1,6 @@
1
+ export * from "./agentPreparation.mjs";
2
+ export * from "./manager.mjs";
3
+ export * from "./runAsManifest.mjs";
4
+ export * from "./spans.mjs";
5
+ export * from "./toolRehydration.mjs";
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/sandbox/runtime/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import type { Agent, AgentOutputType } from '../../agent';
2
+ import type { RunState } from '../../runState';
3
+ import type { SandboxClient } from '../client';
4
+ import type { SandboxSessionLike, SandboxSessionState } from '../session';
5
+ import type { SerializedSandboxSessionEntry, SerializedSandboxState } from './sessionState';
6
+ export type LivePreservedOwnedSessionEntry = {
7
+ agentKey: string;
8
+ backendId: string;
9
+ currentAgentName: string;
10
+ session: SandboxSessionLike<SandboxSessionState>;
11
+ };
12
+ export declare function rememberLivePreservedOwnedSessions<TContext>(args: {
13
+ state: RunState<TContext, Agent<TContext, AgentOutputType>>;
14
+ serializedState: SerializedSandboxState;
15
+ sessionsByAgentKey: ReadonlyMap<string, SandboxSessionLike<SandboxSessionState>>;
16
+ }): void;
17
+ export declare function forgetLivePreservedOwnedSessions<TContext>(state: RunState<TContext, Agent<TContext, AgentOutputType>>): void;
18
+ export declare function livePreservedOwnedSessionEntries<TContext>(state: RunState<TContext, Agent<TContext, AgentOutputType>>): LivePreservedOwnedSessionEntry[];
19
+ export declare function preservedOwnedSessionAgentKeysWithoutLiveReuse(serializedState: SerializedSandboxState): Set<string>;
20
+ export declare function livePreservedOwnedSession<TContext>(args: {
21
+ runState: RunState<TContext, Agent<TContext, AgentOutputType>> | undefined;
22
+ client: SandboxClient;
23
+ agentKey: string;
24
+ serializedEntry: SerializedSandboxSessionEntry | undefined;
25
+ }): LivePreservedOwnedSessionEntry | undefined;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rememberLivePreservedOwnedSessions = rememberLivePreservedOwnedSessions;
4
+ exports.forgetLivePreservedOwnedSessions = forgetLivePreservedOwnedSessions;
5
+ exports.livePreservedOwnedSessionEntries = livePreservedOwnedSessionEntries;
6
+ exports.preservedOwnedSessionAgentKeysWithoutLiveReuse = preservedOwnedSessionAgentKeysWithoutLiveReuse;
7
+ exports.livePreservedOwnedSession = livePreservedOwnedSession;
8
+ const livePreservedOwnedSessionsByRunState = new WeakMap();
9
+ function rememberLivePreservedOwnedSessions(args) {
10
+ const liveSessions = new Map();
11
+ for (const [agentKey, entry] of Object.entries(args.serializedState.sessionsByAgent ?? {})) {
12
+ if (!entry.preservedOwnedSession) {
13
+ continue;
14
+ }
15
+ if (entry.reuseLiveSession === false) {
16
+ continue;
17
+ }
18
+ const session = args.sessionsByAgentKey.get(agentKey);
19
+ if (!session) {
20
+ continue;
21
+ }
22
+ liveSessions.set(agentKey, {
23
+ agentKey,
24
+ backendId: entry.backendId,
25
+ currentAgentName: entry.currentAgentName,
26
+ session,
27
+ });
28
+ }
29
+ if (liveSessions.size > 0) {
30
+ livePreservedOwnedSessionsByRunState.set(args.state, liveSessions);
31
+ }
32
+ else {
33
+ livePreservedOwnedSessionsByRunState.delete(args.state);
34
+ }
35
+ }
36
+ function forgetLivePreservedOwnedSessions(state) {
37
+ livePreservedOwnedSessionsByRunState.delete(state);
38
+ }
39
+ function livePreservedOwnedSessionEntries(state) {
40
+ return [...(livePreservedOwnedSessionsByRunState.get(state)?.values() ?? [])];
41
+ }
42
+ function preservedOwnedSessionAgentKeysWithoutLiveReuse(serializedState) {
43
+ return new Set(Object.entries(serializedState.sessionsByAgent ?? {})
44
+ .filter(([, entry]) => entry.preservedOwnedSession && entry.reuseLiveSession === false)
45
+ .map(([agentKey]) => agentKey));
46
+ }
47
+ function livePreservedOwnedSession(args) {
48
+ if (!args.serializedEntry?.preservedOwnedSession || !args.runState) {
49
+ return undefined;
50
+ }
51
+ const liveSessions = livePreservedOwnedSessionsByRunState.get(args.runState);
52
+ const liveEntry = liveSessions?.get(args.agentKey);
53
+ if (!liveEntry || liveEntry.backendId !== args.client.backendId) {
54
+ return undefined;
55
+ }
56
+ return liveEntry;
57
+ }
58
+ //# sourceMappingURL=livePreservedSessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"livePreservedSessions.js","sourceRoot":"","sources":["../../../src/sandbox/runtime/livePreservedSessions.ts"],"names":[],"mappings":";;AAqBA,gFAmCC;AAED,4EAIC;AAED,4EAIC;AAED,wGAWC;AAED,8DAeC;AAlFD,MAAM,oCAAoC,GAAG,IAAI,OAAO,EAGrD,CAAC;AAEJ,SAAgB,kCAAkC,CAAW,IAO5D;IACC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0C,CAAC;IACvE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5C,IAAI,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,CAC3C,EAAE,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzB,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,oCAAoC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAgB,gCAAgC,CAC9C,KAA2D;IAE3D,oCAAoC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,gCAAgC,CAC9C,KAA2D;IAE3D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAgB,8CAA8C,CAC5D,eAAuC;IAEvC,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,CAAC;SAClD,MAAM,CACL,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACZ,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAClE;SACA,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CAAW,IAKnD;IACC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,51 @@
1
+ const livePreservedOwnedSessionsByRunState = new WeakMap();
2
+ export function rememberLivePreservedOwnedSessions(args) {
3
+ const liveSessions = new Map();
4
+ for (const [agentKey, entry] of Object.entries(args.serializedState.sessionsByAgent ?? {})) {
5
+ if (!entry.preservedOwnedSession) {
6
+ continue;
7
+ }
8
+ if (entry.reuseLiveSession === false) {
9
+ continue;
10
+ }
11
+ const session = args.sessionsByAgentKey.get(agentKey);
12
+ if (!session) {
13
+ continue;
14
+ }
15
+ liveSessions.set(agentKey, {
16
+ agentKey,
17
+ backendId: entry.backendId,
18
+ currentAgentName: entry.currentAgentName,
19
+ session,
20
+ });
21
+ }
22
+ if (liveSessions.size > 0) {
23
+ livePreservedOwnedSessionsByRunState.set(args.state, liveSessions);
24
+ }
25
+ else {
26
+ livePreservedOwnedSessionsByRunState.delete(args.state);
27
+ }
28
+ }
29
+ export function forgetLivePreservedOwnedSessions(state) {
30
+ livePreservedOwnedSessionsByRunState.delete(state);
31
+ }
32
+ export function livePreservedOwnedSessionEntries(state) {
33
+ return [...(livePreservedOwnedSessionsByRunState.get(state)?.values() ?? [])];
34
+ }
35
+ export function preservedOwnedSessionAgentKeysWithoutLiveReuse(serializedState) {
36
+ return new Set(Object.entries(serializedState.sessionsByAgent ?? {})
37
+ .filter(([, entry]) => entry.preservedOwnedSession && entry.reuseLiveSession === false)
38
+ .map(([agentKey]) => agentKey));
39
+ }
40
+ export function livePreservedOwnedSession(args) {
41
+ if (!args.serializedEntry?.preservedOwnedSession || !args.runState) {
42
+ return undefined;
43
+ }
44
+ const liveSessions = livePreservedOwnedSessionsByRunState.get(args.runState);
45
+ const liveEntry = liveSessions?.get(args.agentKey);
46
+ if (!liveEntry || liveEntry.backendId !== args.client.backendId) {
47
+ return undefined;
48
+ }
49
+ return liveEntry;
50
+ }
51
+ //# sourceMappingURL=livePreservedSessions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"livePreservedSessions.mjs","sourceRoot":"","sources":["../../../src/sandbox/runtime/livePreservedSessions.ts"],"names":[],"mappings":"AAgBA,MAAM,oCAAoC,GAAG,IAAI,OAAO,EAGrD,CAAC;AAEJ,MAAM,UAAU,kCAAkC,CAAW,IAO5D;IACC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0C,CAAC;IACvE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5C,IAAI,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,CAC3C,EAAE,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzB,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,oCAAoC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAA2D;IAE3D,oCAAoC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,KAA2D;IAE3D,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,8CAA8C,CAC5D,eAAuC;IAEvC,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,CAAC;SAClD,MAAM,CACL,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACZ,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAClE;SACA,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAW,IAKnD;IACC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { Agent, AgentOutputType } from '../../agent';
2
+ import type { RunState } from '../../runState';
3
+ import type { AgentInputItem } from '../../types';
4
+ import type { SandboxRunConfig } from '../client';
5
+ import { type SandboxMemoryAgentRunner } from '../memory/generation';
6
+ import { type SandboxRuntimeModel } from './agentPreparation';
7
+ type SandboxPreparedAgent<TContext> = {
8
+ executionAgent: Agent<TContext, AgentOutputType>;
9
+ turnInput: AgentInputItem[];
10
+ };
11
+ export declare class SandboxRuntimeManager<TContext> {
12
+ private readonly sandboxConfig?;
13
+ private readonly runState?;
14
+ private readonly agentKeys;
15
+ private readonly acquiredAgents;
16
+ private readonly sessionsByAgent;
17
+ private readonly sessionsByAgentKey;
18
+ private readonly sessionAgentNamesByKey;
19
+ private readonly preparedAgents;
20
+ private readonly preparedSessions;
21
+ private readonly preparedManifestSignatures;
22
+ private readonly ownedSessionAgentKeys;
23
+ private readonly sessionStartPromises;
24
+ private activeMemory?;
25
+ private currentAgentId?;
26
+ constructor(args: {
27
+ startingAgent: Agent<TContext, AgentOutputType>;
28
+ sandboxConfig?: SandboxRunConfig;
29
+ runState?: RunState<TContext, Agent<TContext, AgentOutputType>>;
30
+ });
31
+ prepareAgent(args: {
32
+ currentAgent: Agent<TContext, AgentOutputType>;
33
+ turnInput: AgentInputItem[];
34
+ runConfigModel?: SandboxRuntimeModel;
35
+ }): Promise<SandboxPreparedAgent<TContext>>;
36
+ cleanup(state: RunState<TContext, Agent<TContext, AgentOutputType>>, options?: {
37
+ preserveOwnedSessions?: boolean;
38
+ }): Promise<void>;
39
+ private planCleanup;
40
+ private planCleanupForActiveSessions;
41
+ private planCleanupForSerializedStateOnly;
42
+ private executeCleanupPlan;
43
+ private closeLivePreservedOwnedSessions;
44
+ private runPreStopHooksBeforeRelease;
45
+ enqueueMemoryGeneration(state: RunState<TContext, Agent<TContext, AgentOutputType>>, args: {
46
+ exception?: unknown;
47
+ groupId?: string;
48
+ inputOverride?: string | AgentInputItem[];
49
+ sdkSessionId?: () => Promise<string | undefined>;
50
+ runAgent: SandboxMemoryAgentRunner;
51
+ }): Promise<void>;
52
+ adoptPreservedOwnedSessions(): Promise<boolean>;
53
+ private acquireAgent;
54
+ private ensureSession;
55
+ private registerSessionForAgent;
56
+ private ensureSessionStarted;
57
+ private getPreparedAgent;
58
+ private resumeSessionForAgent;
59
+ private serializeState;
60
+ private requireClient;
61
+ private resolveSnapshotSpec;
62
+ private agentKey;
63
+ private allocateRuntimeAgentKey;
64
+ private resolveConfiguredManifest;
65
+ private closeOwnedSessions;
66
+ private releaseAgents;
67
+ }
68
+ export {};