effect-agent 0.1.0-beta.16 → 0.1.0-beta.160

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 (546) hide show
  1. package/dist/Admin-Dirux8PR.d.mts +4270 -0
  2. package/dist/Agent-BMATXYsI.mjs +93 -0
  3. package/dist/Agent-BMATXYsI.mjs.map +1 -0
  4. package/dist/Agent-ZfnNCQXs.d.mts +259 -0
  5. package/dist/AgentError-Bn1ytXRD.d.mts +117 -0
  6. package/dist/AgentPolicy-B4oH8TbG.d.mts +112 -0
  7. package/dist/AgentRuntime-CVMHysXm.mjs +4844 -0
  8. package/dist/AgentRuntime-CVMHysXm.mjs.map +1 -0
  9. package/dist/AgentRuntime-D1MmB_0z.d.mts +346 -0
  10. package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
  11. package/dist/ContextCompactor-BoKQOjr5.d.mts +161 -0
  12. package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
  13. package/dist/Digest-COAt3Orl.d.mts +22 -0
  14. package/dist/DurableAgentRuntime-pr7cCaZw.mjs +7507 -0
  15. package/dist/DurableAgentRuntime-pr7cCaZw.mjs.map +1 -0
  16. package/dist/DurableFailpoint-Cnr3wx1L.d.mts +41 -0
  17. package/dist/DurableStep-Cry_iol4.d.mts +103 -0
  18. package/dist/EventSource-DOXB0RJR.d.mts +51 -0
  19. package/dist/FailureDiagnostic-BElLOoED.mjs +274 -0
  20. package/dist/FailureDiagnostic-BElLOoED.mjs.map +1 -0
  21. package/dist/FailureDiagnostic-CaAkzGHL.d.mts +223 -0
  22. package/dist/Identifiers-CN2s30fF.d.mts +40 -0
  23. package/dist/InMemory.d.mts +24 -0
  24. package/dist/InMemory.mjs +24 -0
  25. package/dist/InMemory.mjs.map +1 -0
  26. package/dist/MemoryNamespace-BbRW5p71.d.mts +36 -0
  27. package/dist/MemoryReference-B8Q3UJoJ.d.mts +79 -0
  28. package/dist/Messaging-7VXQnWI3.d.mts +221 -0
  29. package/dist/Messaging-CICd_CSi.d.mts +1067 -0
  30. package/dist/MessagingHost-DXwWnrMh.d.mts +74 -0
  31. package/dist/MessagingHost-DfsbMPvq.mjs +110 -0
  32. package/dist/MessagingHost-DfsbMPvq.mjs.map +1 -0
  33. package/dist/OperationAuthorizer-TzcQtpX5.d.mts +61 -0
  34. package/dist/Output-CY7NZByV.d.mts +25 -0
  35. package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
  36. package/dist/PreparedInputAdmission-B7r401xJ.d.mts +42 -0
  37. package/dist/Receipt-BAHyigAF.d.mts +33 -0
  38. package/dist/Records-Bm4Qt70a.d.mts +1115 -0
  39. package/dist/RunEvent-D0aepYwN.d.mts +474 -0
  40. package/dist/RunEventSink-9CUdI9Ar.d.mts +108 -0
  41. package/dist/RunJournal-CA2bsvHn.mjs +979 -0
  42. package/dist/RunJournal-CA2bsvHn.mjs.map +1 -0
  43. package/dist/RunOptions-BHmBa05n.d.mts +960 -0
  44. package/dist/RunPolicyUsage-CUudVtg_.d.mts +23 -0
  45. package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
  46. package/dist/Schedule-Bi_XVKLF.d.mts +847 -0
  47. package/dist/Scheduling-DPb2QyAK.mjs +691 -0
  48. package/dist/Scheduling-DPb2QyAK.mjs.map +1 -0
  49. package/dist/Subagent-D59om8SR.d.mts +1650 -0
  50. package/dist/Subagent-DH6G120f.mjs +1499 -0
  51. package/dist/Subagent-DH6G120f.mjs.map +1 -0
  52. package/dist/SubagentContract-tyN9v-Jv.d.mts +112 -0
  53. package/dist/SubagentHost-VTyf_wEF.d.mts +172 -0
  54. package/dist/Subscription-B3ScCBaN.d.mts +979 -0
  55. package/dist/SubscriptionInput-BP5WVsX_.d.mts +41 -0
  56. package/dist/Thread-DOBQ0QUY.d.mts +96 -0
  57. package/dist/ThreadHistory-FD-o4TsR.d.mts +60 -0
  58. package/dist/ToolBroker-DWs4tZra.d.mts +133 -0
  59. package/dist/ToolExposure-9uF_Yo0T.mjs +10 -0
  60. package/dist/ToolExposure-9uF_Yo0T.mjs.map +1 -0
  61. package/dist/ToolExposure-C93U1sPu.mjs +30 -0
  62. package/dist/ToolExposure-C93U1sPu.mjs.map +1 -0
  63. package/dist/ToolExposure-UCN12eCd.d.mts +39 -0
  64. package/dist/ToolExposure-r2eOWk4F.d.mts +46 -0
  65. package/dist/ToolExposure.d.mts +8 -0
  66. package/dist/ToolExposure.mjs +21 -0
  67. package/dist/ToolExposure.mjs.map +1 -0
  68. package/dist/ToolReconciler-BmVRAHKs.d.mts +80 -0
  69. package/dist/ToolResult-BKdqWRff.d.mts +78 -0
  70. package/dist/Usage-BNjPR7Zr.d.mts +129 -0
  71. package/dist/WakeScheduler-EjUF-GhC.d.mts +56 -0
  72. package/dist/Worker-CfwzMZEK.mjs +271 -0
  73. package/dist/Worker-CfwzMZEK.mjs.map +1 -0
  74. package/dist/Worker-XEBYxRQv.d.mts +472 -0
  75. package/dist/WorkerAdmission-Cmcxd6nS.mjs +171 -0
  76. package/dist/WorkerAdmission-Cmcxd6nS.mjs.map +1 -0
  77. package/dist/agent-registration-BIOzAej4.mjs +210 -0
  78. package/dist/agent-registration-BIOzAej4.mjs.map +1 -0
  79. package/dist/capabilities/Approval.d.mts +114 -0
  80. package/dist/capabilities/Approval.mjs +226 -0
  81. package/dist/capabilities/Approval.mjs.map +1 -0
  82. package/dist/capabilities/BrowserUse.d.mts +545 -0
  83. package/dist/capabilities/BrowserUse.mjs +254 -0
  84. package/dist/capabilities/BrowserUse.mjs.map +1 -0
  85. package/dist/capabilities/Budget.d.mts +112 -0
  86. package/dist/capabilities/Budget.mjs +346 -0
  87. package/dist/capabilities/Budget.mjs.map +1 -0
  88. package/dist/capabilities/CodeMode.d.mts +157 -0
  89. package/dist/capabilities/CodeMode.mjs +523 -0
  90. package/dist/capabilities/CodeMode.mjs.map +1 -0
  91. package/dist/capabilities/Commands.d.mts +55 -0
  92. package/dist/capabilities/Commands.mjs +57 -0
  93. package/dist/capabilities/Commands.mjs.map +1 -0
  94. package/dist/capabilities/ContextTools.d.mts +187 -0
  95. package/dist/capabilities/ContextTools.mjs +87 -0
  96. package/dist/capabilities/ContextTools.mjs.map +1 -0
  97. package/dist/capabilities/Mcp.d.mts +108 -0
  98. package/dist/capabilities/Mcp.mjs +259 -0
  99. package/dist/capabilities/Mcp.mjs.map +1 -0
  100. package/dist/capabilities/McpClient.d.mts +115 -0
  101. package/dist/capabilities/McpClient.mjs +519 -0
  102. package/dist/capabilities/McpClient.mjs.map +1 -0
  103. package/dist/capabilities/MemoryNotes.d.mts +424 -0
  104. package/dist/capabilities/MemoryNotes.mjs +128 -0
  105. package/dist/capabilities/MemoryNotes.mjs.map +1 -0
  106. package/dist/capabilities/Messaging.d.mts +3 -0
  107. package/dist/capabilities/Messaging.mjs +152 -0
  108. package/dist/capabilities/Messaging.mjs.map +1 -0
  109. package/dist/capabilities/ModelContext.d.mts +89 -0
  110. package/dist/capabilities/ModelContext.mjs +168 -0
  111. package/dist/capabilities/ModelContext.mjs.map +1 -0
  112. package/dist/capabilities/Redaction.d.mts +37 -0
  113. package/dist/capabilities/Redaction.mjs +104 -0
  114. package/dist/capabilities/Redaction.mjs.map +1 -0
  115. package/dist/capabilities/Remembering.d.mts +434 -0
  116. package/dist/capabilities/Remembering.mjs +290 -0
  117. package/dist/capabilities/Remembering.mjs.map +1 -0
  118. package/dist/capabilities/RunHooks.d.mts +82 -0
  119. package/dist/capabilities/RunHooks.mjs +144 -0
  120. package/dist/capabilities/RunHooks.mjs.map +1 -0
  121. package/dist/capabilities/SemanticMemory.d.mts +431 -0
  122. package/dist/capabilities/SemanticMemory.mjs +315 -0
  123. package/dist/capabilities/SemanticMemory.mjs.map +1 -0
  124. package/dist/capabilities/Subagent.d.mts +4 -0
  125. package/dist/capabilities/Subagent.mjs +5 -0
  126. package/dist/capabilities/SubagentReservations.d.mts +186 -0
  127. package/dist/capabilities/SubagentReservations.mjs +479 -0
  128. package/dist/capabilities/SubagentReservations.mjs.map +1 -0
  129. package/dist/capabilities/ToolDiscovery.d.mts +129 -0
  130. package/dist/capabilities/ToolDiscovery.mjs +239 -0
  131. package/dist/capabilities/ToolDiscovery.mjs.map +1 -0
  132. package/dist/capabilities/WebCapture.d.mts +163 -0
  133. package/dist/capabilities/WebCapture.mjs +335 -0
  134. package/dist/capabilities/WebCapture.mjs.map +1 -0
  135. package/dist/capabilities/WebSearch.d.mts +75 -0
  136. package/dist/capabilities/WebSearch.mjs +123 -0
  137. package/dist/capabilities/WebSearch.mjs.map +1 -0
  138. package/dist/compaction-C2OTceKw.mjs +505 -0
  139. package/dist/compaction-C2OTceKw.mjs.map +1 -0
  140. package/dist/core/Agent.d.mts +2 -0
  141. package/dist/core/Agent.mjs +2 -0
  142. package/dist/core/AgentError.d.mts +2 -0
  143. package/dist/core/AgentError.mjs +134 -0
  144. package/dist/core/AgentError.mjs.map +1 -0
  145. package/dist/core/AgentPolicy.d.mts +2 -0
  146. package/dist/core/AgentPolicy.mjs +102 -0
  147. package/dist/core/AgentPolicy.mjs.map +1 -0
  148. package/dist/core/AgentUpdates.d.mts +2 -0
  149. package/dist/core/AgentUpdates.mjs +63 -0
  150. package/dist/core/AgentUpdates.mjs.map +1 -0
  151. package/dist/core/FailureDiagnostic.d.mts +2 -0
  152. package/dist/core/FailureDiagnostic.mjs +2 -0
  153. package/dist/core/IdGenerator.d.mts +26 -0
  154. package/dist/core/IdGenerator.mjs +27 -0
  155. package/dist/core/IdGenerator.mjs.map +1 -0
  156. package/dist/core/Identifiers.d.mts +2 -0
  157. package/dist/core/Identifiers.mjs +43 -0
  158. package/dist/core/Identifiers.mjs.map +1 -0
  159. package/dist/core/Memory.d.mts +57 -0
  160. package/dist/core/Memory.mjs +203 -0
  161. package/dist/core/Memory.mjs.map +1 -0
  162. package/dist/core/MemoryNamespace.d.mts +2 -0
  163. package/dist/core/MemoryNamespace.mjs +116 -0
  164. package/dist/core/MemoryNamespace.mjs.map +1 -0
  165. package/dist/core/MemoryReference.d.mts +2 -0
  166. package/dist/core/MemoryReference.mjs +109 -0
  167. package/dist/core/MemoryReference.mjs.map +1 -0
  168. package/dist/core/MemoryRevalidation.d.mts +65 -0
  169. package/dist/core/MemoryRevalidation.mjs +126 -0
  170. package/dist/core/MemoryRevalidation.mjs.map +1 -0
  171. package/dist/core/MemoryStore.d.mts +186 -0
  172. package/dist/core/MemoryStore.mjs +243 -0
  173. package/dist/core/MemoryStore.mjs.map +1 -0
  174. package/dist/core/Receipt.d.mts +2 -0
  175. package/dist/core/Receipt.mjs +36 -0
  176. package/dist/core/Receipt.mjs.map +1 -0
  177. package/dist/core/RememberingStore.d.mts +1562 -0
  178. package/dist/core/RememberingStore.mjs +190 -0
  179. package/dist/core/RememberingStore.mjs.map +1 -0
  180. package/dist/core/RunEvent.d.mts +2 -0
  181. package/dist/core/RunEvent.mjs +346 -0
  182. package/dist/core/RunEvent.mjs.map +1 -0
  183. package/dist/core/RunPolicyUsage.d.mts +2 -0
  184. package/dist/core/RunPolicyUsage.mjs +26 -0
  185. package/dist/core/RunPolicyUsage.mjs.map +1 -0
  186. package/dist/core/SemanticMemoryIndex.d.mts +826 -0
  187. package/dist/core/SemanticMemoryIndex.mjs +185 -0
  188. package/dist/core/SemanticMemoryIndex.mjs.map +1 -0
  189. package/dist/core/SemanticMemoryRevalidation.d.mts +45 -0
  190. package/dist/core/SemanticMemoryRevalidation.mjs +191 -0
  191. package/dist/core/SemanticMemoryRevalidation.mjs.map +1 -0
  192. package/dist/core/SubagentContract.d.mts +2 -0
  193. package/dist/core/SubagentContract.mjs +142 -0
  194. package/dist/core/SubagentContract.mjs.map +1 -0
  195. package/dist/core/Thread.d.mts +2 -0
  196. package/dist/core/Thread.mjs +250 -0
  197. package/dist/core/Thread.mjs.map +1 -0
  198. package/dist/core/ToolResult.d.mts +2 -0
  199. package/dist/core/ToolResult.mjs +156 -0
  200. package/dist/core/ToolResult.mjs.map +1 -0
  201. package/dist/core/Usage.d.mts +2 -0
  202. package/dist/core/Usage.mjs +340 -0
  203. package/dist/core/Usage.mjs.map +1 -0
  204. package/dist/core/Worker.d.mts +3 -0
  205. package/dist/core/Worker.mjs +3 -0
  206. package/dist/durable/ActivityStore.d.mts +116 -0
  207. package/dist/durable/ActivityStore.mjs +131 -0
  208. package/dist/durable/ActivityStore.mjs.map +1 -0
  209. package/dist/durable/Admin.d.mts +2 -0
  210. package/dist/durable/Admin.mjs +330 -0
  211. package/dist/durable/Admin.mjs.map +1 -0
  212. package/dist/durable/AgentRegistration.d.mts +2 -0
  213. package/dist/durable/AgentRegistration.mjs +15 -0
  214. package/dist/durable/AgentRegistration.mjs.map +1 -0
  215. package/dist/durable/Certification.d.mts +110 -0
  216. package/dist/durable/Certification.mjs +159 -0
  217. package/dist/durable/Certification.mjs.map +1 -0
  218. package/dist/durable/CommittedActivity.d.mts +64 -0
  219. package/dist/durable/CommittedActivity.mjs +159 -0
  220. package/dist/durable/CommittedActivity.mjs.map +1 -0
  221. package/dist/durable/Digest.d.mts +2 -0
  222. package/dist/durable/Digest.mjs +50 -0
  223. package/dist/durable/Digest.mjs.map +1 -0
  224. package/dist/durable/DurableAgentRuntime.d.mts +3 -0
  225. package/dist/durable/DurableAgentRuntime.mjs +4 -0
  226. package/dist/durable/DurableFailpoint.d.mts +2 -0
  227. package/dist/durable/DurableFailpoint.mjs +102 -0
  228. package/dist/durable/DurableFailpoint.mjs.map +1 -0
  229. package/dist/durable/DurableFailpointTestControl.d.mts +14 -0
  230. package/dist/durable/DurableFailpointTestControl.mjs +19 -0
  231. package/dist/durable/DurableFailpointTestControl.mjs.map +1 -0
  232. package/dist/durable/EventSource.d.mts +2 -0
  233. package/dist/durable/EventSource.mjs +65 -0
  234. package/dist/durable/EventSource.mjs.map +1 -0
  235. package/dist/durable/GitHubWorkflowSource.d.mts +185 -0
  236. package/dist/durable/GitHubWorkflowSource.mjs +209 -0
  237. package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
  238. package/dist/durable/LifecyclePublication.d.mts +2 -0
  239. package/dist/durable/LifecyclePublication.mjs +189 -0
  240. package/dist/durable/LifecyclePublication.mjs.map +1 -0
  241. package/dist/durable/MessageDelivery.d.mts +949 -0
  242. package/dist/durable/MessageDelivery.mjs +589 -0
  243. package/dist/durable/MessageDelivery.mjs.map +1 -0
  244. package/dist/durable/MessageDeliveryStoreConformance.d.mts +400 -0
  245. package/dist/durable/MessageDeliveryStoreConformance.mjs +270 -0
  246. package/dist/durable/MessageDeliveryStoreConformance.mjs.map +1 -0
  247. package/dist/durable/OperationAuthorizer.d.mts +2 -0
  248. package/dist/durable/OperationAuthorizer.mjs +70 -0
  249. package/dist/durable/OperationAuthorizer.mjs.map +1 -0
  250. package/dist/durable/PersistentHistory.d.mts +16 -0
  251. package/dist/durable/PersistentHistory.mjs +125 -0
  252. package/dist/durable/PersistentHistory.mjs.map +1 -0
  253. package/dist/durable/PreparedInputAdmission.d.mts +2 -0
  254. package/dist/durable/PreparedInputAdmission.mjs +38 -0
  255. package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
  256. package/dist/durable/Records.d.mts +2 -0
  257. package/dist/durable/Records.mjs +873 -0
  258. package/dist/durable/Records.mjs.map +1 -0
  259. package/dist/durable/Recovery.d.mts +2 -0
  260. package/dist/durable/Recovery.mjs +739 -0
  261. package/dist/durable/Recovery.mjs.map +1 -0
  262. package/dist/durable/RunJournal.d.mts +2 -0
  263. package/dist/durable/RunJournal.mjs +2 -0
  264. package/dist/durable/Schedule.d.mts +2 -0
  265. package/dist/durable/Schedule.mjs +391 -0
  266. package/dist/durable/Schedule.mjs.map +1 -0
  267. package/dist/durable/ScheduleStoreConformance.d.mts +17 -0
  268. package/dist/durable/ScheduleStoreConformance.mjs +420 -0
  269. package/dist/durable/ScheduleStoreConformance.mjs.map +1 -0
  270. package/dist/durable/ScheduleTransition.d.mts +24 -0
  271. package/dist/durable/ScheduleTransition.mjs +180 -0
  272. package/dist/durable/ScheduleTransition.mjs.map +1 -0
  273. package/dist/durable/Scheduling.d.mts +55 -0
  274. package/dist/durable/Scheduling.mjs +2 -0
  275. package/dist/durable/SqlMemoryStore.d.mts +742 -0
  276. package/dist/durable/SqlMemoryStore.mjs +627 -0
  277. package/dist/durable/SqlMemoryStore.mjs.map +1 -0
  278. package/dist/durable/SubmissionLedger.d.mts +3 -0
  279. package/dist/durable/SubmissionLedger.mjs +986 -0
  280. package/dist/durable/SubmissionLedger.mjs.map +1 -0
  281. package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
  282. package/dist/durable/SubmissionLedgerConformance.mjs +2254 -0
  283. package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -0
  284. package/dist/durable/SubmissionStatus.d.mts +2 -0
  285. package/dist/durable/SubmissionStatus.mjs +18 -0
  286. package/dist/durable/SubmissionStatus.mjs.map +1 -0
  287. package/dist/durable/Subscription.d.mts +2 -0
  288. package/dist/durable/Subscription.mjs +360 -0
  289. package/dist/durable/Subscription.mjs.map +1 -0
  290. package/dist/durable/SubscriptionInput.d.mts +2 -0
  291. package/dist/durable/SubscriptionInput.mjs +52 -0
  292. package/dist/durable/SubscriptionInput.mjs.map +1 -0
  293. package/dist/durable/SubscriptionStoreConformance.d.mts +16 -0
  294. package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
  295. package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
  296. package/dist/durable/SubscriptionTools.d.mts +274 -0
  297. package/dist/durable/SubscriptionTools.mjs +190 -0
  298. package/dist/durable/SubscriptionTools.mjs.map +1 -0
  299. package/dist/durable/SubscriptionTransition.d.mts +21 -0
  300. package/dist/durable/SubscriptionTransition.mjs +148 -0
  301. package/dist/durable/SubscriptionTransition.mjs.map +1 -0
  302. package/dist/durable/Subscriptions.d.mts +74 -0
  303. package/dist/durable/Subscriptions.mjs +627 -0
  304. package/dist/durable/Subscriptions.mjs.map +1 -0
  305. package/dist/durable/ThreadContextHistory.d.mts +32 -0
  306. package/dist/durable/ThreadContextHistory.mjs +152 -0
  307. package/dist/durable/ThreadContextHistory.mjs.map +1 -0
  308. package/dist/durable/ThreadContextHistoryProjection.d.mts +60 -0
  309. package/dist/durable/ThreadContextHistoryProjection.mjs +149 -0
  310. package/dist/durable/ThreadContextHistoryProjection.mjs.map +1 -0
  311. package/dist/durable/ThreadInvariants.d.mts +77 -0
  312. package/dist/durable/ThreadInvariants.mjs +246 -0
  313. package/dist/durable/ThreadInvariants.mjs.map +1 -0
  314. package/dist/durable/ThreadProjection.d.mts +78 -0
  315. package/dist/durable/ThreadProjection.mjs +158 -0
  316. package/dist/durable/ThreadProjection.mjs.map +1 -0
  317. package/dist/durable/ThreadProjectionMaintenance.d.mts +49 -0
  318. package/dist/durable/ThreadProjectionMaintenance.mjs +33 -0
  319. package/dist/durable/ThreadProjectionMaintenance.mjs.map +1 -0
  320. package/dist/durable/ThreadStore.d.mts +2 -0
  321. package/dist/durable/ThreadStore.mjs +383 -0
  322. package/dist/durable/ThreadStore.mjs.map +1 -0
  323. package/dist/durable/ThreadStoreConformance.d.mts +28 -0
  324. package/dist/durable/ThreadStoreConformance.mjs +543 -0
  325. package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
  326. package/dist/durable/ToolReconciler.d.mts +2 -0
  327. package/dist/durable/ToolReconciler.mjs +85 -0
  328. package/dist/durable/ToolReconciler.mjs.map +1 -0
  329. package/dist/durable/WakeScheduler.d.mts +2 -0
  330. package/dist/durable/WakeScheduler.mjs +85 -0
  331. package/dist/durable/WakeScheduler.mjs.map +1 -0
  332. package/dist/durable/WorkerAdmission.d.mts +172 -0
  333. package/dist/durable/WorkerAdmission.mjs +2 -0
  334. package/dist/durable/WorkerHost.d.mts +156 -0
  335. package/dist/durable/WorkerHost.mjs +77 -0
  336. package/dist/durable/WorkerHost.mjs.map +1 -0
  337. package/dist/engine/AgentRuntime.d.mts +2 -0
  338. package/dist/engine/AgentRuntime.mjs +2 -0
  339. package/dist/engine/Compaction.d.mts +7 -0
  340. package/dist/engine/Compaction.mjs +16 -0
  341. package/dist/engine/Compaction.mjs.map +1 -0
  342. package/dist/engine/ContextCompactor.d.mts +2 -0
  343. package/dist/engine/ContextCompactor.mjs +119 -0
  344. package/dist/engine/ContextCompactor.mjs.map +1 -0
  345. package/dist/engine/ContextHistory.d.mts +65 -0
  346. package/dist/engine/ContextHistory.mjs +76 -0
  347. package/dist/engine/ContextHistory.mjs.map +1 -0
  348. package/dist/engine/ContextWindow.d.mts +2 -0
  349. package/dist/engine/ContextWindow.mjs +59 -0
  350. package/dist/engine/ContextWindow.mjs.map +1 -0
  351. package/dist/engine/DurableStep.d.mts +2 -0
  352. package/dist/engine/DurableStep.mjs +62 -0
  353. package/dist/engine/DurableStep.mjs.map +1 -0
  354. package/dist/engine/MessagingHost.d.mts +2 -0
  355. package/dist/engine/MessagingHost.mjs +2 -0
  356. package/dist/engine/Output.d.mts +2 -0
  357. package/dist/engine/Output.mjs +8 -0
  358. package/dist/engine/Output.mjs.map +1 -0
  359. package/dist/engine/RunEventSink.d.mts +2 -0
  360. package/dist/engine/RunEventSink.mjs +22 -0
  361. package/dist/engine/RunEventSink.mjs.map +1 -0
  362. package/dist/engine/RunOptions.d.mts +2 -0
  363. package/dist/engine/RunOptions.mjs +125 -0
  364. package/dist/engine/RunOptions.mjs.map +1 -0
  365. package/dist/engine/SubagentHost.d.mts +2 -0
  366. package/dist/engine/SubagentHost.mjs +76 -0
  367. package/dist/engine/SubagentHost.mjs.map +1 -0
  368. package/dist/engine/ThreadHistory.d.mts +2 -0
  369. package/dist/engine/ThreadHistory.mjs +67 -0
  370. package/dist/engine/ThreadHistory.mjs.map +1 -0
  371. package/dist/engine/ToolBroker.d.mts +2 -0
  372. package/dist/engine/ToolBroker.mjs +42 -0
  373. package/dist/engine/ToolBroker.mjs.map +1 -0
  374. package/dist/foreign-diagnostic-DBQ1XHKh.mjs +37 -0
  375. package/dist/foreign-diagnostic-DBQ1XHKh.mjs.map +1 -0
  376. package/dist/index.d.mts +93 -6
  377. package/dist/index.mjs +101 -6
  378. package/dist/output-contract-DS-S8mTv.mjs +135 -0
  379. package/dist/output-contract-DS-S8mTv.mjs.map +1 -0
  380. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  381. package/dist/sandbox/CodeExecutor.d.mts +194 -0
  382. package/dist/sandbox/CodeExecutor.mjs +278 -0
  383. package/dist/sandbox/CodeExecutor.mjs.map +1 -0
  384. package/dist/sandbox/InteractiveBrowser.d.mts +257 -0
  385. package/dist/sandbox/InteractiveBrowser.mjs +236 -0
  386. package/dist/sandbox/InteractiveBrowser.mjs.map +1 -0
  387. package/dist/sandbox/PageCapture.d.mts +2 -0
  388. package/dist/sandbox/PageCapture.mjs +450 -0
  389. package/dist/sandbox/PageCapture.mjs.map +1 -0
  390. package/dist/sandbox/PageCrawl.d.mts +88 -0
  391. package/dist/sandbox/PageCrawl.mjs +124 -0
  392. package/dist/sandbox/PageCrawl.mjs.map +1 -0
  393. package/dist/sandbox/PageScreenshot.d.mts +48 -0
  394. package/dist/sandbox/PageScreenshot.mjs +53 -0
  395. package/dist/sandbox/PageScreenshot.mjs.map +1 -0
  396. package/dist/sandbox/Sandbox.d.mts +2 -0
  397. package/dist/sandbox/Sandbox.mjs +208 -0
  398. package/dist/sandbox/Sandbox.mjs.map +1 -0
  399. package/dist/utf8-BYfhEkcj.mjs +11 -0
  400. package/dist/utf8-BYfhEkcj.mjs.map +1 -0
  401. package/dist/utf8-DchGZRBd.mjs +23 -0
  402. package/dist/utf8-DchGZRBd.mjs.map +1 -0
  403. package/package.json +1 -40
  404. package/src/InMemory.ts +19 -0
  405. package/src/ToolExposure.ts +2 -0
  406. package/src/capabilities/Approval.ts +352 -0
  407. package/src/capabilities/BrowserUse.ts +367 -0
  408. package/src/capabilities/Budget.ts +536 -0
  409. package/src/capabilities/CodeMode.ts +1099 -0
  410. package/src/capabilities/Commands.ts +86 -0
  411. package/src/capabilities/ContextTools.ts +129 -0
  412. package/src/capabilities/Mcp.ts +426 -0
  413. package/src/capabilities/McpClient.ts +983 -0
  414. package/src/capabilities/MemoryNotes.ts +174 -0
  415. package/src/capabilities/Messaging.ts +261 -0
  416. package/src/capabilities/ModelContext.ts +354 -0
  417. package/src/capabilities/Redaction.ts +157 -0
  418. package/src/capabilities/Remembering.ts +550 -0
  419. package/src/capabilities/RunHooks.ts +280 -0
  420. package/src/capabilities/SemanticMemory.ts +447 -0
  421. package/src/capabilities/Subagent.ts +2486 -0
  422. package/src/capabilities/SubagentReservations.ts +850 -0
  423. package/src/capabilities/ToolDiscovery.ts +383 -0
  424. package/src/capabilities/WebCapture.ts +722 -0
  425. package/src/capabilities/WebSearch.ts +205 -0
  426. package/src/capabilities/internal/subagent-background.ts +1307 -0
  427. package/src/capabilities/internal/subagent-contract.ts +146 -0
  428. package/src/capabilities/internal/subagent-policy.ts +235 -0
  429. package/src/capabilities/internal/subagent-reporting.ts +136 -0
  430. package/src/capabilities/internal/utf8.ts +10 -0
  431. package/src/core/Agent.ts +623 -0
  432. package/src/core/AgentError.ts +172 -0
  433. package/src/core/AgentPolicy.ts +161 -0
  434. package/src/core/AgentUpdates.ts +100 -0
  435. package/src/core/FailureDiagnostic.ts +343 -0
  436. package/src/core/IdGenerator.ts +39 -0
  437. package/src/core/Identifiers.ts +48 -0
  438. package/src/core/Memory.ts +290 -0
  439. package/src/core/MemoryNamespace.ts +196 -0
  440. package/src/core/MemoryReference.ts +121 -0
  441. package/src/core/MemoryRevalidation.ts +185 -0
  442. package/src/core/MemoryStore.ts +368 -0
  443. package/src/core/Messaging.ts +72 -0
  444. package/src/core/Receipt.ts +42 -0
  445. package/src/core/RememberingStore.ts +300 -0
  446. package/src/core/RunEvent.ts +375 -0
  447. package/src/core/RunPolicyUsage.ts +19 -0
  448. package/src/core/SemanticMemoryIndex.ts +250 -0
  449. package/src/core/SemanticMemoryRevalidation.ts +254 -0
  450. package/src/core/SubagentContract.ts +189 -0
  451. package/src/core/Thread.ts +371 -0
  452. package/src/core/ToolExposure.ts +74 -0
  453. package/src/core/ToolResult.ts +190 -0
  454. package/src/core/Usage.ts +570 -0
  455. package/src/core/Worker.ts +240 -0
  456. package/src/core/internal/agent-updates.ts +34 -0
  457. package/src/core/internal/message-status.ts +60 -0
  458. package/src/core/internal/strict-schema.ts +14 -0
  459. package/src/core/internal/utf8.ts +23 -0
  460. package/src/durable/ActivityStore.ts +160 -0
  461. package/src/durable/Admin.ts +505 -0
  462. package/src/durable/AgentRegistration.ts +16 -0
  463. package/src/durable/Certification.ts +210 -0
  464. package/src/durable/CommittedActivity.ts +296 -0
  465. package/src/durable/Digest.ts +87 -0
  466. package/src/durable/DurableAgentRuntime.ts +11854 -0
  467. package/src/durable/DurableFailpoint.ts +111 -0
  468. package/src/durable/DurableFailpointTestControl.ts +39 -0
  469. package/src/durable/EventSource.ts +172 -0
  470. package/src/durable/GitHubWorkflowSource.ts +447 -0
  471. package/src/durable/LifecyclePublication.ts +311 -0
  472. package/src/durable/MessageDelivery.ts +878 -0
  473. package/src/durable/MessageDeliveryStoreConformance.ts +410 -0
  474. package/src/durable/OperationAuthorizer.ts +85 -0
  475. package/src/durable/PersistentHistory.ts +260 -0
  476. package/src/durable/PreparedInputAdmission.ts +57 -0
  477. package/src/durable/Records.ts +1099 -0
  478. package/src/durable/Recovery.ts +1018 -0
  479. package/src/durable/RunJournal.ts +1768 -0
  480. package/src/durable/Schedule.ts +513 -0
  481. package/src/durable/ScheduleStoreConformance.ts +638 -0
  482. package/src/durable/ScheduleTransition.ts +265 -0
  483. package/src/durable/Scheduling.ts +1077 -0
  484. package/src/durable/SqlMemoryStore.ts +1056 -0
  485. package/src/durable/SubmissionLedger.ts +1297 -0
  486. package/src/durable/SubmissionLedgerConformance.ts +4940 -0
  487. package/src/durable/SubmissionStatus.ts +14 -0
  488. package/src/durable/Subscription.ts +544 -0
  489. package/src/durable/SubscriptionInput.ts +144 -0
  490. package/src/durable/SubscriptionStoreConformance.ts +945 -0
  491. package/src/durable/SubscriptionTools.ts +327 -0
  492. package/src/durable/SubscriptionTransition.ts +302 -0
  493. package/src/durable/Subscriptions.ts +1210 -0
  494. package/src/durable/ThreadContextHistory.ts +227 -0
  495. package/src/durable/ThreadContextHistoryProjection.ts +216 -0
  496. package/src/durable/ThreadInvariants.ts +507 -0
  497. package/src/durable/ThreadProjection.ts +269 -0
  498. package/src/durable/ThreadProjectionMaintenance.ts +67 -0
  499. package/src/durable/ThreadStore.ts +637 -0
  500. package/src/durable/ThreadStoreConformance.ts +1296 -0
  501. package/src/durable/ToolReconciler.ts +109 -0
  502. package/src/durable/WakeScheduler.ts +134 -0
  503. package/src/durable/WorkerAdmission.ts +104 -0
  504. package/src/durable/WorkerHost.ts +205 -0
  505. package/src/durable/internal/agent-registration.ts +621 -0
  506. package/src/durable/internal/agent-updates.ts +306 -0
  507. package/src/durable/internal/foreign-diagnostic.ts +47 -0
  508. package/src/durable/internal/journal-checkpoint.ts +158 -0
  509. package/src/durable/internal/journal-metadata.ts +124 -0
  510. package/src/durable/internal/message-status.ts +20 -0
  511. package/src/durable/internal/messaging-host.ts +637 -0
  512. package/src/durable/internal/schedule-time.ts +303 -0
  513. package/src/durable/internal/thread-initialization.ts +195 -0
  514. package/src/durable/internal/worker-host.ts +3309 -0
  515. package/src/durable/internal/worker-runtime.ts +9 -0
  516. package/src/engine/AgentRuntime.ts +37 -0
  517. package/src/engine/Compaction.ts +11 -0
  518. package/src/engine/ContextCompactor.ts +277 -0
  519. package/src/engine/ContextHistory.ts +73 -0
  520. package/src/engine/ContextWindow.ts +72 -0
  521. package/src/engine/DurableStep.ts +132 -0
  522. package/src/engine/MessagingHost.ts +110 -0
  523. package/src/engine/Output.ts +2 -0
  524. package/src/engine/RunEventSink.ts +132 -0
  525. package/src/engine/RunOptions.ts +1127 -0
  526. package/src/engine/SubagentHost.ts +239 -0
  527. package/src/engine/ThreadHistory.ts +120 -0
  528. package/src/engine/ToolBroker.ts +157 -0
  529. package/src/engine/ToolExposure.ts +48 -0
  530. package/src/engine/internal/agent-runtime.ts +10845 -0
  531. package/src/engine/internal/bounded-value.ts +315 -0
  532. package/src/engine/internal/compaction.ts +678 -0
  533. package/src/engine/internal/error-diagnostic.ts +39 -0
  534. package/src/engine/internal/output-contract.ts +250 -0
  535. package/src/engine/internal/primitive-delta.ts +80 -0
  536. package/src/engine/internal/provider-result-staging.ts +211 -0
  537. package/src/engine/internal/tool-derivative.ts +106 -0
  538. package/src/engine/internal/tool-exposure.ts +224 -0
  539. package/src/engine/internal/tool-telemetry.ts +484 -0
  540. package/src/index.ts +100 -22
  541. package/src/sandbox/CodeExecutor.ts +352 -0
  542. package/src/sandbox/InteractiveBrowser.ts +339 -0
  543. package/src/sandbox/PageCapture.ts +691 -0
  544. package/src/sandbox/PageCrawl.ts +148 -0
  545. package/src/sandbox/PageScreenshot.ts +81 -0
  546. package/src/sandbox/Sandbox.ts +241 -0
@@ -0,0 +1,148 @@
1
+ import { Context, Schema, type Scope, type Stream } from "effect";
2
+
3
+ import { PageCaptureTargetUrl } from "./PageCapture.ts";
4
+ import { SandboxImplementation } from "./Sandbox.ts";
5
+
6
+ const MAX_PAGE_BYTES = 8 * 1024 * 1024;
7
+ const MAX_TOTAL_BYTES = 64 * 1024 * 1024;
8
+ const MAX_PAGES = 100;
9
+ const MAX_DEPTH = 10;
10
+ const MAX_DEADLINE_MILLIS = 10 * 60_000;
11
+ const MAX_DIAGNOSTIC_LENGTH = 8_000;
12
+ const PositiveInt = Schema.Int.check(Schema.isGreaterThan(0));
13
+ const BoundedMarkdown = Schema.String.check(Schema.isMaxLength(MAX_PAGE_BYTES));
14
+ const BoundedMessage = Schema.String.check(Schema.isMaxLength(MAX_DIAGNOSTIC_LENGTH));
15
+
16
+ const HttpStatus = Schema.Int.check(
17
+ Schema.isGreaterThanOrEqualTo(100),
18
+ Schema.isLessThanOrEqualTo(599),
19
+ );
20
+
21
+ /** One credential-free HTTPS URL. The first adapter confines every record to its exact host. */
22
+ export const PageCrawlStartUrl = PageCaptureTargetUrl;
23
+ export type PageCrawlStartUrl = typeof PageCrawlStartUrl.Type;
24
+
25
+ /** The declared uses Cloudflare evaluates against a site's Content Signals. */
26
+ export const PageCrawlPurpose = Schema.Literals(["search", "ai-input", "ai-train"]);
27
+ export type PageCrawlPurpose = typeof PageCrawlPurpose.Type;
28
+
29
+ /** Immutable caller limits for one scoped crawl. */
30
+ export class PageCrawlLimits extends Schema.Class<PageCrawlLimits>("PageCrawlLimits")({
31
+ maxPages: PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_PAGES)),
32
+ maxDepth: PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_DEPTH)),
33
+ maxPageBytes: PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_PAGE_BYTES)),
34
+ maxTotalBytes: PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_TOTAL_BYTES)),
35
+ deadlineMillis: PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_DEADLINE_MILLIS)),
36
+ }) {}
37
+
38
+ /** A rendered Markdown crawl rooted at one exact HTTPS host. */
39
+ export class PageCrawlRequest extends Schema.Class<PageCrawlRequest>("PageCrawlRequest")({
40
+ startUrl: PageCrawlStartUrl,
41
+ purposes: Schema.Array(PageCrawlPurpose).check(
42
+ Schema.isMinLength(1),
43
+ Schema.isMaxLength(3),
44
+ Schema.isUnique(),
45
+ ),
46
+ limits: PageCrawlLimits,
47
+ }) {}
48
+
49
+ /** Cloudflare's documented status for one discovered URL. */
50
+ export const PageCrawlRecordStatus = Schema.Literals([
51
+ "queued",
52
+ "completed",
53
+ "disallowed",
54
+ "skipped",
55
+ "errored",
56
+ "cancelled",
57
+ ]);
58
+
59
+ export type PageCrawlRecordStatus = typeof PageCrawlRecordStatus.Type;
60
+
61
+ /** Bounded origin metadata when Cloudflare reached the URL. */
62
+ export class PageCrawlRecordMetadata extends Schema.Class<PageCrawlRecordMetadata>(
63
+ "PageCrawlRecordMetadata",
64
+ )({
65
+ status: HttpStatus,
66
+ url: PageCrawlStartUrl,
67
+ title: Schema.optionalKey(Schema.String.check(Schema.isMaxLength(4_096))),
68
+ }) {}
69
+
70
+ /** One untrusted page record. Non-completed statuses may have no Markdown. */
71
+ export class PageCrawlRecord extends Schema.Class<PageCrawlRecord>("PageCrawlRecord")({
72
+ url: PageCrawlStartUrl,
73
+ status: PageCrawlRecordStatus,
74
+ markdown: Schema.optionalKey(BoundedMarkdown),
75
+ metadata: Schema.optionalKey(PageCrawlRecordMetadata),
76
+ }) {}
77
+
78
+ /** Cloudflare refused a request because of a request-rate or browser-quota limit. */
79
+ export class PageCrawlRateLimitedError extends Schema.TaggedError<PageCrawlRateLimitedError>()(
80
+ "PageCrawlRateLimitedError",
81
+ {
82
+ implementation: SandboxImplementation,
83
+ reason: Schema.Literals(["rate", "quota"]),
84
+ retryAfterMillis: Schema.optionalKey(Schema.Natural),
85
+ message: BoundedMessage,
86
+ cause: Schema.optionalKey(Schema.Defect()),
87
+ },
88
+ ) {}
89
+
90
+ /** The REST transport or provider response violated the crawl protocol. */
91
+ export class PageCrawlProtocolError extends Schema.TaggedError<PageCrawlProtocolError>()(
92
+ "PageCrawlProtocolError",
93
+ {
94
+ implementation: SandboxImplementation,
95
+ message: BoundedMessage,
96
+ cause: Schema.optionalKey(Schema.Defect()),
97
+ },
98
+ ) {}
99
+
100
+ /** The first record or operation that crossed one immutable caller limit. */
101
+ export class PageCrawlLimitError extends Schema.TaggedError<PageCrawlLimitError>()(
102
+ "PageCrawlLimitError",
103
+ {
104
+ implementation: SandboxImplementation,
105
+ limit: Schema.Literals(["pages", "page-bytes", "total-bytes", "deadline"]),
106
+ maximum: PositiveInt,
107
+ observed: Schema.Natural,
108
+ message: BoundedMessage,
109
+ },
110
+ ) {}
111
+
112
+ /** A documented non-success terminal job status. */
113
+ export class PageCrawlTerminalError extends Schema.TaggedError<PageCrawlTerminalError>()(
114
+ "PageCrawlTerminalError",
115
+ {
116
+ implementation: SandboxImplementation,
117
+ status: Schema.Literals([
118
+ "errored",
119
+ "cancelled_by_user",
120
+ "cancelled_due_to_timeout",
121
+ "cancelled_due_to_limits",
122
+ ]),
123
+ message: BoundedMessage,
124
+ },
125
+ ) {}
126
+
127
+ export const PageCrawlError = Schema.Union([
128
+ PageCrawlRateLimitedError,
129
+ PageCrawlProtocolError,
130
+ PageCrawlLimitError,
131
+ PageCrawlTerminalError,
132
+ ]);
133
+
134
+ export type PageCrawlError = typeof PageCrawlError.Type;
135
+
136
+ /** Scoped exact-host crawl stream. Provider job identity and polling stay adapter-private. */
137
+ export class PageCrawl extends Context.Service<
138
+ PageCrawl,
139
+ {
140
+ readonly crawl: (
141
+ request: PageCrawlRequest,
142
+ ) => Stream.Stream<PageCrawlRecord, PageCrawlError, Scope.Scope>;
143
+ }
144
+ >()("@effect-agent/sandbox/PageCrawl") {}
145
+
146
+ export type PageCrawlCrawl = (
147
+ request: PageCrawlRequest,
148
+ ) => Stream.Stream<PageCrawlRecord, PageCrawlError, Scope.Scope>;
@@ -0,0 +1,81 @@
1
+ import { Context, Schema, type Effect } from "effect";
2
+
3
+ import {
4
+ PageCaptureEngine,
5
+ PageCaptureNavigationError,
6
+ PageCaptureProtocolError,
7
+ PageCaptureRateLimitedError,
8
+ PageCaptureTarget,
9
+ PageCaptureUnsupportedError,
10
+ PageNavigationOptions,
11
+ PageResourcePolicy,
12
+ PageViewport,
13
+ } from "./PageCapture.ts";
14
+ import { SandboxImplementation } from "./Sandbox.ts";
15
+
16
+ const MAX_SCREENSHOT_BYTES = 8 * 1024 * 1024;
17
+ const PositiveInt = Schema.Int.check(Schema.isGreaterThan(0));
18
+
19
+ /** The byte limit and full-page choice are fixed before Browser Run starts. */
20
+ export class PageScreenshotLimits extends Schema.Class<PageScreenshotLimits>(
21
+ "PageScreenshotLimits",
22
+ )({
23
+ maxOutputBytes: PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_SCREENSHOT_BYTES)),
24
+ }) {}
25
+
26
+ /** Schema-first request for exactly one PNG screenshot. */
27
+ export class PageScreenshotRequest extends Schema.Class<PageScreenshotRequest>(
28
+ "PageScreenshotRequest",
29
+ )({
30
+ target: PageCaptureTarget,
31
+ engine: PageCaptureEngine,
32
+ limits: PageScreenshotLimits,
33
+ fullPage: Schema.Boolean,
34
+ navigation: Schema.optionalKey(PageNavigationOptions),
35
+ viewport: Schema.optionalKey(PageViewport),
36
+ resourcePolicy: Schema.optionalKey(PageResourcePolicy),
37
+ }) {}
38
+
39
+ /** The only successful output: bytes are caller-owned and never durable framework data. */
40
+ export class PageScreenshotResult extends Schema.Class<PageScreenshotResult>(
41
+ "PageScreenshotResult",
42
+ )({
43
+ implementation: SandboxImplementation,
44
+ mediaType: Schema.Literal("image/png"),
45
+ bytes: Schema.Uint8Array.check(Schema.isMaxLength(MAX_SCREENSHOT_BYTES)),
46
+ }) {}
47
+
48
+ /** The response crossed the request's PNG byte limit. */
49
+ export class PageScreenshotOutputLimitError extends Schema.TaggedError<PageScreenshotOutputLimitError>()(
50
+ "PageScreenshotOutputLimitError",
51
+ {
52
+ implementation: SandboxImplementation,
53
+ limit: PositiveInt,
54
+ observed: Schema.Natural,
55
+ },
56
+ ) {}
57
+
58
+ /** Expected screenshot failures. The shared capture errors keep identical semantics. */
59
+ export const PageScreenshotError = Schema.Union([
60
+ PageCaptureRateLimitedError,
61
+ PageCaptureNavigationError,
62
+ PageCaptureUnsupportedError,
63
+ PageCaptureProtocolError,
64
+ PageScreenshotOutputLimitError,
65
+ ]);
66
+
67
+ export type PageScreenshotError = typeof PageScreenshotError.Type;
68
+
69
+ /** Stateless, one-output PNG capture port. It owns neither persistence nor later byte handoff. */
70
+ export class PageScreenshot extends Context.Service<
71
+ PageScreenshot,
72
+ {
73
+ readonly capture: (
74
+ request: PageScreenshotRequest,
75
+ ) => Effect.Effect<PageScreenshotResult, PageScreenshotError>;
76
+ }
77
+ >()("@effect-agent/sandbox/PageScreenshot") {}
78
+
79
+ export type PageScreenshotCapture = (
80
+ request: PageScreenshotRequest,
81
+ ) => Effect.Effect<PageScreenshotResult, PageScreenshotError>;
@@ -0,0 +1,241 @@
1
+ import { Context, Duration, Schema, type Stream } from "effect";
2
+
3
+ const BoundedName = Schema.NonEmptyString.check(Schema.isMaxLength(256));
4
+ const BoundedPath = Schema.NonEmptyString.check(Schema.isMaxLength(4 * 1024));
5
+ const BoundedArgument = Schema.String.check(Schema.isMaxLength(32 * 1024));
6
+ const MAX_OUTPUT_BYTES = 16 * 1024 * 1024;
7
+ const MAX_ARTIFACT_RULES = 64;
8
+ const BoundedOutputText = Schema.String.check(Schema.isMaxLength(MAX_OUTPUT_BYTES));
9
+
10
+ export const SANDBOX_DIAGNOSTIC_MAX_LENGTH = 8 * 1024;
11
+ const BoundedDiagnostic = Schema.String.check(Schema.isMaxLength(SANDBOX_DIAGNOSTIC_MAX_LENGTH));
12
+ const PositiveInt = Schema.Int.check(Schema.isGreaterThan(0));
13
+ const PositiveNumber = Schema.Finite.check(Schema.isGreaterThan(0));
14
+ const MaxOutputBytes = PositiveInt.check(Schema.isLessThanOrEqualTo(MAX_OUTPUT_BYTES));
15
+ const BoundedArguments = Schema.Array(BoundedArgument).check(Schema.isMaxLength(256));
16
+ const BoundedEnvironmentNames = Schema.Array(BoundedName).check(Schema.isMaxLength(128));
17
+
18
+ const FinitePositiveDuration = Schema.Duration.pipe(
19
+ Schema.refine(
20
+ (duration): duration is Duration.Duration =>
21
+ Duration.isFinite(duration) && Duration.isPositive(duration),
22
+ { expected: "a finite positive duration" },
23
+ ),
24
+ );
25
+
26
+ const FiniteNonNegativeDuration = Schema.Duration.pipe(
27
+ Schema.refine(
28
+ (duration): duration is Duration.Duration =>
29
+ Duration.isFinite(duration) && !Duration.isNegative(duration),
30
+ { expected: "a finite non-negative duration" },
31
+ ),
32
+ );
33
+
34
+ /** A requested runtime image or executable environment. */
35
+ export class SandboxRuntime extends Schema.Class<SandboxRuntime>("SandboxRuntime")({
36
+ kind: Schema.Literals(["container", "microvm", "wasm", "unisolated-process"]),
37
+ identity: BoundedName,
38
+ }) {}
39
+
40
+ /** The implementation and its isolation posture that executed a request. */
41
+ export class SandboxImplementation extends Schema.Class<SandboxImplementation>(
42
+ "SandboxImplementation",
43
+ )({
44
+ isolation: Schema.Literals(["isolated", "unisolated"]),
45
+ identity: BoundedName,
46
+ }) {}
47
+
48
+ /** A host path made available to the requested runtime. */
49
+ export class SandboxMount extends Schema.Class<SandboxMount>("SandboxMount")({
50
+ source: BoundedPath,
51
+ target: BoundedPath,
52
+ access: Schema.Literals(["read-only", "read-write"]),
53
+ }) {}
54
+
55
+ /** Explicitly denies all workload network access. */
56
+ export class NetworkDisabled extends Schema.TaggedClass<NetworkDisabled>()("NetworkDisabled", {}) {}
57
+
58
+ /** Explicitly permits connections only to the named destination and port allowlists. */
59
+ export class NetworkAllowlist extends Schema.TaggedClass<NetworkAllowlist>()("NetworkAllowlist", {
60
+ domains: Schema.Array(BoundedName).check(Schema.isMaxLength(256)),
61
+ ports: Schema.Array(PositiveInt.check(Schema.isLessThanOrEqualTo(65_535))).check(
62
+ Schema.isMaxLength(256),
63
+ ),
64
+ }) {}
65
+
66
+ /** Network access policy supplied to a sandbox implementation. */
67
+ export const SandboxNetworkPolicy = Schema.Union([NetworkDisabled, NetworkAllowlist]);
68
+ export type SandboxNetworkPolicy = typeof SandboxNetworkPolicy.Type;
69
+
70
+ /** Names of ambient variables that may be copied into the workload environment. */
71
+ export class SandboxEnvironment extends Schema.Class<SandboxEnvironment>("SandboxEnvironment")({
72
+ allow: BoundedEnvironmentNames,
73
+ }) {}
74
+
75
+ /** Limits that a sandbox implementation must either enforce or reject. */
76
+ export class SandboxLimits extends Schema.Class<SandboxLimits>("SandboxLimits")({
77
+ cpuCores: Schema.optionalKey(PositiveNumber.check(Schema.isLessThanOrEqualTo(1_024))),
78
+ memoryBytes: Schema.optionalKey(
79
+ PositiveInt.check(Schema.isLessThanOrEqualTo(1024 * 1024 * 1024 * 1024)),
80
+ ),
81
+ maxOutputBytes: MaxOutputBytes,
82
+ maxWallTime: FinitePositiveDuration,
83
+ }) {}
84
+
85
+ /** A secret reference; raw secret values are never part of a sandbox request. */
86
+ export class SandboxSecretHandle extends Schema.Class<SandboxSecretHandle>("SandboxSecretHandle")({
87
+ id: BoundedName,
88
+ purpose: Schema.NonEmptyString.check(Schema.isMaxLength(2 * 1024)),
89
+ }) {}
90
+
91
+ /** Rules for copying selected workload output out of an isolated runtime. */
92
+ export class SandboxArtifactRule extends Schema.Class<SandboxArtifactRule>("SandboxArtifactRule")({
93
+ path: BoundedPath,
94
+ maxBytes: MaxOutputBytes,
95
+ }) {}
96
+
97
+ /** Metadata for an artifact that a sandbox implementation released after applying its rules. */
98
+ export class SandboxArtifact extends Schema.Class<SandboxArtifact>("SandboxArtifact")({
99
+ path: BoundedPath,
100
+ bytes: Schema.Natural.check(Schema.isLessThanOrEqualTo(MAX_OUTPUT_BYTES)),
101
+ digest: BoundedName,
102
+ mediaType: Schema.optionalKey(BoundedName),
103
+ }) {}
104
+
105
+ /** Schema-first command execution request. Command and arguments are intentionally separate. */
106
+ export class SandboxRequest extends Schema.Class<SandboxRequest>("SandboxRequest")({
107
+ runtime: SandboxRuntime,
108
+ command: BoundedPath,
109
+ args: BoundedArguments,
110
+ cwd: BoundedPath,
111
+ environment: SandboxEnvironment,
112
+ mounts: Schema.Array(SandboxMount).check(Schema.isMaxLength(64)),
113
+ network: SandboxNetworkPolicy,
114
+ limits: SandboxLimits,
115
+ secretHandles: Schema.Array(SandboxSecretHandle).check(Schema.isMaxLength(64)),
116
+ artifactRules: Schema.Array(SandboxArtifactRule).check(Schema.isMaxLength(MAX_ARTIFACT_RULES)),
117
+ }) {}
118
+
119
+ /** Accounting that a sandbox implementation was able to observe for one execution. */
120
+ export class SandboxResourceUse extends Schema.Class<SandboxResourceUse>("SandboxResourceUse")({
121
+ wallTime: FiniteNonNegativeDuration,
122
+ stdoutBytes: Schema.Natural.check(Schema.isLessThanOrEqualTo(MAX_OUTPUT_BYTES)),
123
+ stderrBytes: Schema.Natural.check(Schema.isLessThanOrEqualTo(MAX_OUTPUT_BYTES)),
124
+ cpuMillis: Schema.optionalKey(Schema.Natural),
125
+ memoryBytes: Schema.optionalKey(Schema.Natural),
126
+ }) {}
127
+
128
+ const SandboxEventBase = {
129
+ eventVersion: Schema.Literal(1),
130
+ implementation: SandboxImplementation,
131
+ };
132
+
133
+ /** Signals that the implementation has accepted the request and started its workload. */
134
+ export class SandboxStarted extends Schema.TaggedClass<SandboxStarted>()("SandboxStarted", {
135
+ ...SandboxEventBase,
136
+ runtime: SandboxRuntime,
137
+ }) {}
138
+
139
+ /** A bounded text fragment from stdout or stderr. Sandbox output is sensitive by default. */
140
+ export class SandboxOutput extends Schema.TaggedClass<SandboxOutput>()("SandboxOutput", {
141
+ ...SandboxEventBase,
142
+ stream: Schema.Literals(["stdout", "stderr"]),
143
+ text: BoundedOutputText,
144
+ bytes: Schema.Natural.check(Schema.isLessThanOrEqualTo(MAX_OUTPUT_BYTES)),
145
+ }) {}
146
+
147
+ /** The terminal process status and observed bounded resource usage. */
148
+ export class SandboxExited extends Schema.TaggedClass<SandboxExited>()("SandboxExited", {
149
+ ...SandboxEventBase,
150
+ exitCode: Schema.Int,
151
+ resourceUse: SandboxResourceUse,
152
+ artifacts: Schema.Array(SandboxArtifact).check(Schema.isMaxLength(MAX_ARTIFACT_RULES)),
153
+ }) {}
154
+
155
+ /** Versioned execution event stream. */
156
+ export const SandboxEvent = Schema.Union([SandboxStarted, SandboxOutput, SandboxExited]);
157
+ export type SandboxEvent = typeof SandboxEvent.Type;
158
+
159
+ /** The runtime could not start the requested process. */
160
+ export class SandboxSpawnError extends Schema.TaggedError<SandboxSpawnError>()(
161
+ "SandboxSpawnError",
162
+ {
163
+ implementation: SandboxImplementation,
164
+ command: BoundedPath,
165
+ message: BoundedDiagnostic,
166
+ cause: Schema.optionalKey(Schema.Defect()),
167
+ },
168
+ ) {}
169
+
170
+ /** The process ended unsuccessfully after starting. */
171
+ export class SandboxExitError extends Schema.TaggedError<SandboxExitError>()("SandboxExitError", {
172
+ implementation: SandboxImplementation,
173
+ exitCode: Schema.Int,
174
+ message: BoundedDiagnostic,
175
+ cause: Schema.optionalKey(Schema.Defect()),
176
+ }) {}
177
+
178
+ /** The wall-clock execution limit elapsed and the owned process was interrupted. */
179
+ export class SandboxTimeoutError extends Schema.TaggedError<SandboxTimeoutError>()(
180
+ "SandboxTimeoutError",
181
+ {
182
+ implementation: SandboxImplementation,
183
+ maxWallTime: FinitePositiveDuration,
184
+ },
185
+ ) {}
186
+
187
+ /** A stdout or stderr stream exceeded its configured bounded-output limit. */
188
+ export class SandboxOutputLimitError extends Schema.TaggedError<SandboxOutputLimitError>()(
189
+ "SandboxOutputLimitError",
190
+ {
191
+ implementation: SandboxImplementation,
192
+ stream: Schema.Literals(["stdout", "stderr"]),
193
+ limit: PositiveInt,
194
+ observed: PositiveInt,
195
+ },
196
+ ) {}
197
+
198
+ /** The selected implementation cannot honestly enforce one requested security or resource feature. */
199
+ export class SandboxUnsupportedRequestError extends Schema.TaggedError<SandboxUnsupportedRequestError>()(
200
+ "SandboxUnsupportedRequestError",
201
+ {
202
+ implementation: SandboxImplementation,
203
+ feature: Schema.Literals([
204
+ "runtime",
205
+ "mounts",
206
+ "network",
207
+ "cpu-limit",
208
+ "memory-limit",
209
+ "secret-handles",
210
+ "artifacts",
211
+ ]),
212
+ message: BoundedDiagnostic,
213
+ },
214
+ ) {}
215
+
216
+ /** Expected sandbox execution failures. Interruption remains an Effect interruption, never a fabricated exit. */
217
+ export const SandboxError = Schema.Union([
218
+ SandboxSpawnError,
219
+ SandboxExitError,
220
+ SandboxTimeoutError,
221
+ SandboxOutputLimitError,
222
+ SandboxUnsupportedRequestError,
223
+ ]);
224
+
225
+ export type SandboxError = typeof SandboxError.Type;
226
+
227
+ /**
228
+ * Scoped command/code execution capability. Implementations must identify their isolation posture
229
+ * in every emitted event; an `unisolated` implementation is never a security sandbox.
230
+ */
231
+ export class Sandbox extends Context.Service<
232
+ Sandbox,
233
+ {
234
+ readonly execute: (request: SandboxRequest) => Stream.Stream<SandboxEvent, SandboxError>;
235
+ }
236
+ >()("@effect-agent/sandbox/Sandbox") {}
237
+
238
+ /** Type helper for implementations that preserve the public Sandbox service contract. */
239
+ export type SandboxExecute = (
240
+ request: SandboxRequest,
241
+ ) => Stream.Stream<SandboxEvent, SandboxError, never>;