effect-agent 0.1.0-beta.15 → 0.1.0-beta.150

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 (536) hide show
  1. package/dist/Admin-B8ISZyYf.d.mts +4235 -0
  2. package/dist/Agent-1DMSO_Fl.mjs +86 -0
  3. package/dist/Agent-1DMSO_Fl.mjs.map +1 -0
  4. package/dist/Agent-Cjd_ZveM.d.mts +259 -0
  5. package/dist/AgentError-Bn1ytXRD.d.mts +117 -0
  6. package/dist/AgentPolicy-BqDoSXO6.d.mts +96 -0
  7. package/dist/AgentRuntime-D8U9gl9Q.mjs +4745 -0
  8. package/dist/AgentRuntime-D8U9gl9Q.mjs.map +1 -0
  9. package/dist/AgentRuntime-sXpKcyxu.d.mts +346 -0
  10. package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
  11. package/dist/ContextCompactor-WwSIG_Z2.d.mts +161 -0
  12. package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
  13. package/dist/Digest-U69rDHuO.d.mts +22 -0
  14. package/dist/DurableAgentRuntime-DLa4IwFi.mjs +7221 -0
  15. package/dist/DurableAgentRuntime-DLa4IwFi.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-CkN05NT3.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-Dkg87ebg.d.mts +221 -0
  29. package/dist/Messaging-ccQURKCf.d.mts +1067 -0
  30. package/dist/MessagingHost-D04wE-7W.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-CFD1CPfU.d.mts +25 -0
  35. package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
  36. package/dist/PreparedInputAdmission-fctZOTnn.d.mts +42 -0
  37. package/dist/Receipt-BAHyigAF.d.mts +33 -0
  38. package/dist/Records-B5GFWCpn.d.mts +1104 -0
  39. package/dist/RunEvent-DIrzkjLr.d.mts +460 -0
  40. package/dist/RunEventSink-D5aVhISG.d.mts +108 -0
  41. package/dist/RunJournal-Gd83HYqG.mjs +954 -0
  42. package/dist/RunJournal-Gd83HYqG.mjs.map +1 -0
  43. package/dist/RunOptions-Bv9NpkPZ.d.mts +943 -0
  44. package/dist/RunPolicyUsage-ClZxyR46.d.mts +21 -0
  45. package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
  46. package/dist/Schedule-CtYREFnz.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-VHrANXFy.d.mts +1652 -0
  50. package/dist/Subagent-hG9lJ7tJ.mjs +1502 -0
  51. package/dist/Subagent-hG9lJ7tJ.mjs.map +1 -0
  52. package/dist/SubagentContract-DdT7Cqe6.d.mts +116 -0
  53. package/dist/SubagentHost-C-4A7tA2.d.mts +172 -0
  54. package/dist/Subscription-B16A-48F.d.mts +979 -0
  55. package/dist/SubscriptionInput-DIU7CiXE.d.mts +41 -0
  56. package/dist/Thread-DOBQ0QUY.d.mts +96 -0
  57. package/dist/ThreadHistory-tS1KwxHR.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-Dx0aknfk.d.mts +121 -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-fwWkBg12.d.mts +472 -0
  75. package/dist/agent-registration-CKNsrpwo.mjs +201 -0
  76. package/dist/agent-registration-CKNsrpwo.mjs.map +1 -0
  77. package/dist/capabilities/Approval.d.mts +114 -0
  78. package/dist/capabilities/Approval.mjs +226 -0
  79. package/dist/capabilities/Approval.mjs.map +1 -0
  80. package/dist/capabilities/Budget.d.mts +112 -0
  81. package/dist/capabilities/Budget.mjs +346 -0
  82. package/dist/capabilities/Budget.mjs.map +1 -0
  83. package/dist/capabilities/CodeMode.d.mts +157 -0
  84. package/dist/capabilities/CodeMode.mjs +523 -0
  85. package/dist/capabilities/CodeMode.mjs.map +1 -0
  86. package/dist/capabilities/Commands.d.mts +55 -0
  87. package/dist/capabilities/Commands.mjs +57 -0
  88. package/dist/capabilities/Commands.mjs.map +1 -0
  89. package/dist/capabilities/ContextTools.d.mts +321 -0
  90. package/dist/capabilities/ContextTools.mjs +126 -0
  91. package/dist/capabilities/ContextTools.mjs.map +1 -0
  92. package/dist/capabilities/Mcp.d.mts +108 -0
  93. package/dist/capabilities/Mcp.mjs +259 -0
  94. package/dist/capabilities/Mcp.mjs.map +1 -0
  95. package/dist/capabilities/McpClient.d.mts +115 -0
  96. package/dist/capabilities/McpClient.mjs +519 -0
  97. package/dist/capabilities/McpClient.mjs.map +1 -0
  98. package/dist/capabilities/MemoryNotes.d.mts +424 -0
  99. package/dist/capabilities/MemoryNotes.mjs +128 -0
  100. package/dist/capabilities/MemoryNotes.mjs.map +1 -0
  101. package/dist/capabilities/Messaging.d.mts +3 -0
  102. package/dist/capabilities/Messaging.mjs +152 -0
  103. package/dist/capabilities/Messaging.mjs.map +1 -0
  104. package/dist/capabilities/ModelContext.d.mts +89 -0
  105. package/dist/capabilities/ModelContext.mjs +168 -0
  106. package/dist/capabilities/ModelContext.mjs.map +1 -0
  107. package/dist/capabilities/Redaction.d.mts +37 -0
  108. package/dist/capabilities/Redaction.mjs +104 -0
  109. package/dist/capabilities/Redaction.mjs.map +1 -0
  110. package/dist/capabilities/Remembering.d.mts +434 -0
  111. package/dist/capabilities/Remembering.mjs +290 -0
  112. package/dist/capabilities/Remembering.mjs.map +1 -0
  113. package/dist/capabilities/RunHooks.d.mts +82 -0
  114. package/dist/capabilities/RunHooks.mjs +144 -0
  115. package/dist/capabilities/RunHooks.mjs.map +1 -0
  116. package/dist/capabilities/SemanticMemory.d.mts +431 -0
  117. package/dist/capabilities/SemanticMemory.mjs +315 -0
  118. package/dist/capabilities/SemanticMemory.mjs.map +1 -0
  119. package/dist/capabilities/Subagent.d.mts +4 -0
  120. package/dist/capabilities/Subagent.mjs +5 -0
  121. package/dist/capabilities/SubagentReservations.d.mts +186 -0
  122. package/dist/capabilities/SubagentReservations.mjs +479 -0
  123. package/dist/capabilities/SubagentReservations.mjs.map +1 -0
  124. package/dist/capabilities/ToolDiscovery.d.mts +124 -0
  125. package/dist/capabilities/ToolDiscovery.mjs +230 -0
  126. package/dist/capabilities/ToolDiscovery.mjs.map +1 -0
  127. package/dist/capabilities/WebCapture.d.mts +163 -0
  128. package/dist/capabilities/WebCapture.mjs +335 -0
  129. package/dist/capabilities/WebCapture.mjs.map +1 -0
  130. package/dist/capabilities/WebSearch.d.mts +71 -0
  131. package/dist/capabilities/WebSearch.mjs +115 -0
  132. package/dist/capabilities/WebSearch.mjs.map +1 -0
  133. package/dist/compaction-C2OTceKw.mjs +505 -0
  134. package/dist/compaction-C2OTceKw.mjs.map +1 -0
  135. package/dist/core/Agent.d.mts +2 -0
  136. package/dist/core/Agent.mjs +2 -0
  137. package/dist/core/AgentError.d.mts +2 -0
  138. package/dist/core/AgentError.mjs +134 -0
  139. package/dist/core/AgentError.mjs.map +1 -0
  140. package/dist/core/AgentPolicy.d.mts +2 -0
  141. package/dist/core/AgentPolicy.mjs +94 -0
  142. package/dist/core/AgentPolicy.mjs.map +1 -0
  143. package/dist/core/AgentUpdates.d.mts +2 -0
  144. package/dist/core/AgentUpdates.mjs +63 -0
  145. package/dist/core/AgentUpdates.mjs.map +1 -0
  146. package/dist/core/FailureDiagnostic.d.mts +2 -0
  147. package/dist/core/FailureDiagnostic.mjs +2 -0
  148. package/dist/core/IdGenerator.d.mts +26 -0
  149. package/dist/core/IdGenerator.mjs +27 -0
  150. package/dist/core/IdGenerator.mjs.map +1 -0
  151. package/dist/core/Identifiers.d.mts +2 -0
  152. package/dist/core/Identifiers.mjs +43 -0
  153. package/dist/core/Identifiers.mjs.map +1 -0
  154. package/dist/core/Memory.d.mts +57 -0
  155. package/dist/core/Memory.mjs +203 -0
  156. package/dist/core/Memory.mjs.map +1 -0
  157. package/dist/core/MemoryNamespace.d.mts +2 -0
  158. package/dist/core/MemoryNamespace.mjs +116 -0
  159. package/dist/core/MemoryNamespace.mjs.map +1 -0
  160. package/dist/core/MemoryReference.d.mts +2 -0
  161. package/dist/core/MemoryReference.mjs +109 -0
  162. package/dist/core/MemoryReference.mjs.map +1 -0
  163. package/dist/core/MemoryRevalidation.d.mts +65 -0
  164. package/dist/core/MemoryRevalidation.mjs +126 -0
  165. package/dist/core/MemoryRevalidation.mjs.map +1 -0
  166. package/dist/core/MemoryStore.d.mts +186 -0
  167. package/dist/core/MemoryStore.mjs +243 -0
  168. package/dist/core/MemoryStore.mjs.map +1 -0
  169. package/dist/core/Receipt.d.mts +2 -0
  170. package/dist/core/Receipt.mjs +36 -0
  171. package/dist/core/Receipt.mjs.map +1 -0
  172. package/dist/core/RememberingStore.d.mts +1562 -0
  173. package/dist/core/RememberingStore.mjs +190 -0
  174. package/dist/core/RememberingStore.mjs.map +1 -0
  175. package/dist/core/RunEvent.d.mts +2 -0
  176. package/dist/core/RunEvent.mjs +337 -0
  177. package/dist/core/RunEvent.mjs.map +1 -0
  178. package/dist/core/RunPolicyUsage.d.mts +2 -0
  179. package/dist/core/RunPolicyUsage.mjs +21 -0
  180. package/dist/core/RunPolicyUsage.mjs.map +1 -0
  181. package/dist/core/SemanticMemoryIndex.d.mts +826 -0
  182. package/dist/core/SemanticMemoryIndex.mjs +185 -0
  183. package/dist/core/SemanticMemoryIndex.mjs.map +1 -0
  184. package/dist/core/SemanticMemoryRevalidation.d.mts +45 -0
  185. package/dist/core/SemanticMemoryRevalidation.mjs +191 -0
  186. package/dist/core/SemanticMemoryRevalidation.mjs.map +1 -0
  187. package/dist/core/SubagentContract.d.mts +2 -0
  188. package/dist/core/SubagentContract.mjs +148 -0
  189. package/dist/core/SubagentContract.mjs.map +1 -0
  190. package/dist/core/Thread.d.mts +2 -0
  191. package/dist/core/Thread.mjs +250 -0
  192. package/dist/core/Thread.mjs.map +1 -0
  193. package/dist/core/ToolResult.d.mts +2 -0
  194. package/dist/core/ToolResult.mjs +156 -0
  195. package/dist/core/ToolResult.mjs.map +1 -0
  196. package/dist/core/Usage.d.mts +2 -0
  197. package/dist/core/Usage.mjs +319 -0
  198. package/dist/core/Usage.mjs.map +1 -0
  199. package/dist/core/Worker.d.mts +3 -0
  200. package/dist/core/Worker.mjs +3 -0
  201. package/dist/durable/ActivityStore.d.mts +116 -0
  202. package/dist/durable/ActivityStore.mjs +131 -0
  203. package/dist/durable/ActivityStore.mjs.map +1 -0
  204. package/dist/durable/Admin.d.mts +2 -0
  205. package/dist/durable/Admin.mjs +330 -0
  206. package/dist/durable/Admin.mjs.map +1 -0
  207. package/dist/durable/AgentRegistration.d.mts +2 -0
  208. package/dist/durable/AgentRegistration.mjs +14 -0
  209. package/dist/durable/AgentRegistration.mjs.map +1 -0
  210. package/dist/durable/Certification.d.mts +110 -0
  211. package/dist/durable/Certification.mjs +159 -0
  212. package/dist/durable/Certification.mjs.map +1 -0
  213. package/dist/durable/CommittedActivity.d.mts +64 -0
  214. package/dist/durable/CommittedActivity.mjs +159 -0
  215. package/dist/durable/CommittedActivity.mjs.map +1 -0
  216. package/dist/durable/Digest.d.mts +2 -0
  217. package/dist/durable/Digest.mjs +50 -0
  218. package/dist/durable/Digest.mjs.map +1 -0
  219. package/dist/durable/DurableAgentRuntime.d.mts +3 -0
  220. package/dist/durable/DurableAgentRuntime.mjs +3 -0
  221. package/dist/durable/DurableFailpoint.d.mts +2 -0
  222. package/dist/durable/DurableFailpoint.mjs +102 -0
  223. package/dist/durable/DurableFailpoint.mjs.map +1 -0
  224. package/dist/durable/DurableFailpointTestControl.d.mts +14 -0
  225. package/dist/durable/DurableFailpointTestControl.mjs +19 -0
  226. package/dist/durable/DurableFailpointTestControl.mjs.map +1 -0
  227. package/dist/durable/EventSource.d.mts +2 -0
  228. package/dist/durable/EventSource.mjs +65 -0
  229. package/dist/durable/EventSource.mjs.map +1 -0
  230. package/dist/durable/GitHubWorkflowSource.d.mts +185 -0
  231. package/dist/durable/GitHubWorkflowSource.mjs +209 -0
  232. package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
  233. package/dist/durable/LifecyclePublication.d.mts +2 -0
  234. package/dist/durable/LifecyclePublication.mjs +189 -0
  235. package/dist/durable/LifecyclePublication.mjs.map +1 -0
  236. package/dist/durable/MessageDelivery.d.mts +935 -0
  237. package/dist/durable/MessageDelivery.mjs +557 -0
  238. package/dist/durable/MessageDelivery.mjs.map +1 -0
  239. package/dist/durable/MessageDeliveryStoreConformance.d.mts +400 -0
  240. package/dist/durable/MessageDeliveryStoreConformance.mjs +270 -0
  241. package/dist/durable/MessageDeliveryStoreConformance.mjs.map +1 -0
  242. package/dist/durable/OperationAuthorizer.d.mts +2 -0
  243. package/dist/durable/OperationAuthorizer.mjs +70 -0
  244. package/dist/durable/OperationAuthorizer.mjs.map +1 -0
  245. package/dist/durable/PersistentHistory.d.mts +16 -0
  246. package/dist/durable/PersistentHistory.mjs +125 -0
  247. package/dist/durable/PersistentHistory.mjs.map +1 -0
  248. package/dist/durable/PreparedInputAdmission.d.mts +2 -0
  249. package/dist/durable/PreparedInputAdmission.mjs +38 -0
  250. package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
  251. package/dist/durable/Records.d.mts +2 -0
  252. package/dist/durable/Records.mjs +858 -0
  253. package/dist/durable/Records.mjs.map +1 -0
  254. package/dist/durable/Recovery.d.mts +2 -0
  255. package/dist/durable/Recovery.mjs +739 -0
  256. package/dist/durable/Recovery.mjs.map +1 -0
  257. package/dist/durable/RunJournal.d.mts +2 -0
  258. package/dist/durable/RunJournal.mjs +2 -0
  259. package/dist/durable/Schedule.d.mts +2 -0
  260. package/dist/durable/Schedule.mjs +391 -0
  261. package/dist/durable/Schedule.mjs.map +1 -0
  262. package/dist/durable/ScheduleStoreConformance.d.mts +17 -0
  263. package/dist/durable/ScheduleStoreConformance.mjs +420 -0
  264. package/dist/durable/ScheduleStoreConformance.mjs.map +1 -0
  265. package/dist/durable/ScheduleTransition.d.mts +24 -0
  266. package/dist/durable/ScheduleTransition.mjs +180 -0
  267. package/dist/durable/ScheduleTransition.mjs.map +1 -0
  268. package/dist/durable/Scheduling.d.mts +55 -0
  269. package/dist/durable/Scheduling.mjs +2 -0
  270. package/dist/durable/SqlMemoryStore.d.mts +29 -0
  271. package/dist/durable/SqlMemoryStore.mjs +436 -0
  272. package/dist/durable/SqlMemoryStore.mjs.map +1 -0
  273. package/dist/durable/SubmissionLedger.d.mts +3 -0
  274. package/dist/durable/SubmissionLedger.mjs +986 -0
  275. package/dist/durable/SubmissionLedger.mjs.map +1 -0
  276. package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
  277. package/dist/durable/SubmissionLedgerConformance.mjs +2254 -0
  278. package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -0
  279. package/dist/durable/SubmissionStatus.d.mts +2 -0
  280. package/dist/durable/SubmissionStatus.mjs +18 -0
  281. package/dist/durable/SubmissionStatus.mjs.map +1 -0
  282. package/dist/durable/Subscription.d.mts +2 -0
  283. package/dist/durable/Subscription.mjs +360 -0
  284. package/dist/durable/Subscription.mjs.map +1 -0
  285. package/dist/durable/SubscriptionInput.d.mts +2 -0
  286. package/dist/durable/SubscriptionInput.mjs +52 -0
  287. package/dist/durable/SubscriptionInput.mjs.map +1 -0
  288. package/dist/durable/SubscriptionStoreConformance.d.mts +16 -0
  289. package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
  290. package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
  291. package/dist/durable/SubscriptionTools.d.mts +274 -0
  292. package/dist/durable/SubscriptionTools.mjs +190 -0
  293. package/dist/durable/SubscriptionTools.mjs.map +1 -0
  294. package/dist/durable/SubscriptionTransition.d.mts +21 -0
  295. package/dist/durable/SubscriptionTransition.mjs +148 -0
  296. package/dist/durable/SubscriptionTransition.mjs.map +1 -0
  297. package/dist/durable/Subscriptions.d.mts +74 -0
  298. package/dist/durable/Subscriptions.mjs +627 -0
  299. package/dist/durable/Subscriptions.mjs.map +1 -0
  300. package/dist/durable/ThreadContextHistory.d.mts +32 -0
  301. package/dist/durable/ThreadContextHistory.mjs +152 -0
  302. package/dist/durable/ThreadContextHistory.mjs.map +1 -0
  303. package/dist/durable/ThreadContextHistoryProjection.d.mts +60 -0
  304. package/dist/durable/ThreadContextHistoryProjection.mjs +149 -0
  305. package/dist/durable/ThreadContextHistoryProjection.mjs.map +1 -0
  306. package/dist/durable/ThreadInvariants.d.mts +77 -0
  307. package/dist/durable/ThreadInvariants.mjs +246 -0
  308. package/dist/durable/ThreadInvariants.mjs.map +1 -0
  309. package/dist/durable/ThreadProjection.d.mts +78 -0
  310. package/dist/durable/ThreadProjection.mjs +158 -0
  311. package/dist/durable/ThreadProjection.mjs.map +1 -0
  312. package/dist/durable/ThreadProjectionMaintenance.d.mts +49 -0
  313. package/dist/durable/ThreadProjectionMaintenance.mjs +33 -0
  314. package/dist/durable/ThreadProjectionMaintenance.mjs.map +1 -0
  315. package/dist/durable/ThreadStore.d.mts +2 -0
  316. package/dist/durable/ThreadStore.mjs +383 -0
  317. package/dist/durable/ThreadStore.mjs.map +1 -0
  318. package/dist/durable/ThreadStoreConformance.d.mts +28 -0
  319. package/dist/durable/ThreadStoreConformance.mjs +543 -0
  320. package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
  321. package/dist/durable/ToolReconciler.d.mts +2 -0
  322. package/dist/durable/ToolReconciler.mjs +85 -0
  323. package/dist/durable/ToolReconciler.mjs.map +1 -0
  324. package/dist/durable/WakeScheduler.d.mts +2 -0
  325. package/dist/durable/WakeScheduler.mjs +85 -0
  326. package/dist/durable/WakeScheduler.mjs.map +1 -0
  327. package/dist/durable/WorkerHost.d.mts +156 -0
  328. package/dist/durable/WorkerHost.mjs +77 -0
  329. package/dist/durable/WorkerHost.mjs.map +1 -0
  330. package/dist/engine/AgentRuntime.d.mts +2 -0
  331. package/dist/engine/AgentRuntime.mjs +2 -0
  332. package/dist/engine/Compaction.d.mts +7 -0
  333. package/dist/engine/Compaction.mjs +16 -0
  334. package/dist/engine/Compaction.mjs.map +1 -0
  335. package/dist/engine/ContextCompactor.d.mts +2 -0
  336. package/dist/engine/ContextCompactor.mjs +119 -0
  337. package/dist/engine/ContextCompactor.mjs.map +1 -0
  338. package/dist/engine/ContextHistory.d.mts +65 -0
  339. package/dist/engine/ContextHistory.mjs +76 -0
  340. package/dist/engine/ContextHistory.mjs.map +1 -0
  341. package/dist/engine/ContextWindow.d.mts +2 -0
  342. package/dist/engine/ContextWindow.mjs +59 -0
  343. package/dist/engine/ContextWindow.mjs.map +1 -0
  344. package/dist/engine/DurableStep.d.mts +2 -0
  345. package/dist/engine/DurableStep.mjs +62 -0
  346. package/dist/engine/DurableStep.mjs.map +1 -0
  347. package/dist/engine/MessagingHost.d.mts +2 -0
  348. package/dist/engine/MessagingHost.mjs +2 -0
  349. package/dist/engine/Output.d.mts +2 -0
  350. package/dist/engine/Output.mjs +8 -0
  351. package/dist/engine/Output.mjs.map +1 -0
  352. package/dist/engine/RunEventSink.d.mts +2 -0
  353. package/dist/engine/RunEventSink.mjs +22 -0
  354. package/dist/engine/RunEventSink.mjs.map +1 -0
  355. package/dist/engine/RunOptions.d.mts +2 -0
  356. package/dist/engine/RunOptions.mjs +124 -0
  357. package/dist/engine/RunOptions.mjs.map +1 -0
  358. package/dist/engine/SubagentHost.d.mts +2 -0
  359. package/dist/engine/SubagentHost.mjs +76 -0
  360. package/dist/engine/SubagentHost.mjs.map +1 -0
  361. package/dist/engine/ThreadHistory.d.mts +2 -0
  362. package/dist/engine/ThreadHistory.mjs +67 -0
  363. package/dist/engine/ThreadHistory.mjs.map +1 -0
  364. package/dist/engine/ToolBroker.d.mts +2 -0
  365. package/dist/engine/ToolBroker.mjs +42 -0
  366. package/dist/engine/ToolBroker.mjs.map +1 -0
  367. package/dist/foreign-diagnostic-DBQ1XHKh.mjs +37 -0
  368. package/dist/foreign-diagnostic-DBQ1XHKh.mjs.map +1 -0
  369. package/dist/index.d.mts +91 -6
  370. package/dist/index.mjs +99 -6
  371. package/dist/output-contract-DS-S8mTv.mjs +135 -0
  372. package/dist/output-contract-DS-S8mTv.mjs.map +1 -0
  373. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  374. package/dist/sandbox/CodeExecutor.d.mts +194 -0
  375. package/dist/sandbox/CodeExecutor.mjs +278 -0
  376. package/dist/sandbox/CodeExecutor.mjs.map +1 -0
  377. package/dist/sandbox/InteractiveBrowser.d.mts +257 -0
  378. package/dist/sandbox/InteractiveBrowser.mjs +236 -0
  379. package/dist/sandbox/InteractiveBrowser.mjs.map +1 -0
  380. package/dist/sandbox/PageCapture.d.mts +2 -0
  381. package/dist/sandbox/PageCapture.mjs +450 -0
  382. package/dist/sandbox/PageCapture.mjs.map +1 -0
  383. package/dist/sandbox/PageCrawl.d.mts +88 -0
  384. package/dist/sandbox/PageCrawl.mjs +124 -0
  385. package/dist/sandbox/PageCrawl.mjs.map +1 -0
  386. package/dist/sandbox/PageScreenshot.d.mts +48 -0
  387. package/dist/sandbox/PageScreenshot.mjs +53 -0
  388. package/dist/sandbox/PageScreenshot.mjs.map +1 -0
  389. package/dist/sandbox/Sandbox.d.mts +2 -0
  390. package/dist/sandbox/Sandbox.mjs +208 -0
  391. package/dist/sandbox/Sandbox.mjs.map +1 -0
  392. package/dist/utf8-BYfhEkcj.mjs +11 -0
  393. package/dist/utf8-BYfhEkcj.mjs.map +1 -0
  394. package/dist/utf8-DchGZRBd.mjs +23 -0
  395. package/dist/utf8-DchGZRBd.mjs.map +1 -0
  396. package/package.json +1 -40
  397. package/src/InMemory.ts +19 -0
  398. package/src/ToolExposure.ts +2 -0
  399. package/src/capabilities/Approval.ts +352 -0
  400. package/src/capabilities/Budget.ts +536 -0
  401. package/src/capabilities/CodeMode.ts +1099 -0
  402. package/src/capabilities/Commands.ts +86 -0
  403. package/src/capabilities/ContextTools.ts +184 -0
  404. package/src/capabilities/Mcp.ts +426 -0
  405. package/src/capabilities/McpClient.ts +983 -0
  406. package/src/capabilities/MemoryNotes.ts +174 -0
  407. package/src/capabilities/Messaging.ts +261 -0
  408. package/src/capabilities/ModelContext.ts +354 -0
  409. package/src/capabilities/Redaction.ts +157 -0
  410. package/src/capabilities/Remembering.ts +550 -0
  411. package/src/capabilities/RunHooks.ts +280 -0
  412. package/src/capabilities/SemanticMemory.ts +447 -0
  413. package/src/capabilities/Subagent.ts +2489 -0
  414. package/src/capabilities/SubagentReservations.ts +850 -0
  415. package/src/capabilities/ToolDiscovery.ts +369 -0
  416. package/src/capabilities/WebCapture.ts +722 -0
  417. package/src/capabilities/WebSearch.ts +190 -0
  418. package/src/capabilities/internal/subagent-background.ts +1307 -0
  419. package/src/capabilities/internal/subagent-contract.ts +146 -0
  420. package/src/capabilities/internal/subagent-policy.ts +235 -0
  421. package/src/capabilities/internal/subagent-reporting.ts +136 -0
  422. package/src/capabilities/internal/utf8.ts +10 -0
  423. package/src/core/Agent.ts +609 -0
  424. package/src/core/AgentError.ts +172 -0
  425. package/src/core/AgentPolicy.ts +153 -0
  426. package/src/core/AgentUpdates.ts +100 -0
  427. package/src/core/FailureDiagnostic.ts +343 -0
  428. package/src/core/IdGenerator.ts +39 -0
  429. package/src/core/Identifiers.ts +48 -0
  430. package/src/core/Memory.ts +290 -0
  431. package/src/core/MemoryNamespace.ts +196 -0
  432. package/src/core/MemoryReference.ts +121 -0
  433. package/src/core/MemoryRevalidation.ts +185 -0
  434. package/src/core/MemoryStore.ts +368 -0
  435. package/src/core/Messaging.ts +72 -0
  436. package/src/core/Receipt.ts +42 -0
  437. package/src/core/RememberingStore.ts +300 -0
  438. package/src/core/RunEvent.ts +366 -0
  439. package/src/core/RunPolicyUsage.ts +17 -0
  440. package/src/core/SemanticMemoryIndex.ts +250 -0
  441. package/src/core/SemanticMemoryRevalidation.ts +254 -0
  442. package/src/core/SubagentContract.ts +196 -0
  443. package/src/core/Thread.ts +371 -0
  444. package/src/core/ToolExposure.ts +74 -0
  445. package/src/core/ToolResult.ts +190 -0
  446. package/src/core/Usage.ts +529 -0
  447. package/src/core/Worker.ts +240 -0
  448. package/src/core/internal/agent-updates.ts +34 -0
  449. package/src/core/internal/message-status.ts +60 -0
  450. package/src/core/internal/strict-schema.ts +14 -0
  451. package/src/core/internal/utf8.ts +23 -0
  452. package/src/durable/ActivityStore.ts +160 -0
  453. package/src/durable/Admin.ts +505 -0
  454. package/src/durable/AgentRegistration.ts +14 -0
  455. package/src/durable/Certification.ts +210 -0
  456. package/src/durable/CommittedActivity.ts +296 -0
  457. package/src/durable/Digest.ts +87 -0
  458. package/src/durable/DurableAgentRuntime.ts +11407 -0
  459. package/src/durable/DurableFailpoint.ts +111 -0
  460. package/src/durable/DurableFailpointTestControl.ts +39 -0
  461. package/src/durable/EventSource.ts +172 -0
  462. package/src/durable/GitHubWorkflowSource.ts +447 -0
  463. package/src/durable/LifecyclePublication.ts +298 -0
  464. package/src/durable/MessageDelivery.ts +834 -0
  465. package/src/durable/MessageDeliveryStoreConformance.ts +410 -0
  466. package/src/durable/OperationAuthorizer.ts +85 -0
  467. package/src/durable/PersistentHistory.ts +260 -0
  468. package/src/durable/PreparedInputAdmission.ts +57 -0
  469. package/src/durable/Records.ts +1087 -0
  470. package/src/durable/Recovery.ts +1018 -0
  471. package/src/durable/RunJournal.ts +1695 -0
  472. package/src/durable/Schedule.ts +513 -0
  473. package/src/durable/ScheduleStoreConformance.ts +638 -0
  474. package/src/durable/ScheduleTransition.ts +265 -0
  475. package/src/durable/Scheduling.ts +1077 -0
  476. package/src/durable/SqlMemoryStore.ts +778 -0
  477. package/src/durable/SubmissionLedger.ts +1297 -0
  478. package/src/durable/SubmissionLedgerConformance.ts +4940 -0
  479. package/src/durable/SubmissionStatus.ts +14 -0
  480. package/src/durable/Subscription.ts +544 -0
  481. package/src/durable/SubscriptionInput.ts +144 -0
  482. package/src/durable/SubscriptionStoreConformance.ts +945 -0
  483. package/src/durable/SubscriptionTools.ts +327 -0
  484. package/src/durable/SubscriptionTransition.ts +302 -0
  485. package/src/durable/Subscriptions.ts +1210 -0
  486. package/src/durable/ThreadContextHistory.ts +227 -0
  487. package/src/durable/ThreadContextHistoryProjection.ts +216 -0
  488. package/src/durable/ThreadInvariants.ts +507 -0
  489. package/src/durable/ThreadProjection.ts +269 -0
  490. package/src/durable/ThreadProjectionMaintenance.ts +67 -0
  491. package/src/durable/ThreadStore.ts +637 -0
  492. package/src/durable/ThreadStoreConformance.ts +1296 -0
  493. package/src/durable/ToolReconciler.ts +109 -0
  494. package/src/durable/WakeScheduler.ts +134 -0
  495. package/src/durable/WorkerHost.ts +205 -0
  496. package/src/durable/internal/agent-registration.ts +587 -0
  497. package/src/durable/internal/agent-updates.ts +306 -0
  498. package/src/durable/internal/foreign-diagnostic.ts +47 -0
  499. package/src/durable/internal/journal-checkpoint.ts +104 -0
  500. package/src/durable/internal/journal-metadata.ts +124 -0
  501. package/src/durable/internal/message-status.ts +20 -0
  502. package/src/durable/internal/messaging-host.ts +637 -0
  503. package/src/durable/internal/schedule-time.ts +303 -0
  504. package/src/durable/internal/worker-host.ts +3311 -0
  505. package/src/durable/internal/worker-runtime.ts +9 -0
  506. package/src/engine/AgentRuntime.ts +37 -0
  507. package/src/engine/Compaction.ts +11 -0
  508. package/src/engine/ContextCompactor.ts +277 -0
  509. package/src/engine/ContextHistory.ts +73 -0
  510. package/src/engine/ContextWindow.ts +72 -0
  511. package/src/engine/DurableStep.ts +132 -0
  512. package/src/engine/MessagingHost.ts +110 -0
  513. package/src/engine/Output.ts +2 -0
  514. package/src/engine/RunEventSink.ts +132 -0
  515. package/src/engine/RunOptions.ts +1109 -0
  516. package/src/engine/SubagentHost.ts +239 -0
  517. package/src/engine/ThreadHistory.ts +120 -0
  518. package/src/engine/ToolBroker.ts +157 -0
  519. package/src/engine/ToolExposure.ts +48 -0
  520. package/src/engine/internal/agent-runtime.ts +10596 -0
  521. package/src/engine/internal/bounded-value.ts +315 -0
  522. package/src/engine/internal/compaction.ts +678 -0
  523. package/src/engine/internal/error-diagnostic.ts +39 -0
  524. package/src/engine/internal/output-contract.ts +250 -0
  525. package/src/engine/internal/primitive-delta.ts +80 -0
  526. package/src/engine/internal/provider-result-staging.ts +211 -0
  527. package/src/engine/internal/tool-derivative.ts +106 -0
  528. package/src/engine/internal/tool-exposure.ts +224 -0
  529. package/src/engine/internal/tool-telemetry.ts +484 -0
  530. package/src/index.ts +98 -22
  531. package/src/sandbox/CodeExecutor.ts +352 -0
  532. package/src/sandbox/InteractiveBrowser.ts +339 -0
  533. package/src/sandbox/PageCapture.ts +691 -0
  534. package/src/sandbox/PageCrawl.ts +148 -0
  535. package/src/sandbox/PageScreenshot.ts +81 -0
  536. package/src/sandbox/Sandbox.ts +241 -0
@@ -0,0 +1,609 @@
1
+ import type { Effect, Layer, Option, Schema } from "effect";
2
+ import * as S from "effect/Schema";
3
+ import {
4
+ type AiError,
5
+ type LanguageModel,
6
+ type Model,
7
+ type Prompt,
8
+ Tool,
9
+ type Toolkit,
10
+ } from "effect/unstable/ai";
11
+
12
+ import type { AgentInputError, AgentOutputError, AgentRunDispositionError } from "./AgentError.ts";
13
+ import { AgentPolicy, type AgentPolicyInput } from "./AgentPolicy.ts";
14
+ import { AgentId } from "./Identifiers.ts";
15
+ import { type UpdateToolkit, withUpdateTool } from "./internal/agent-updates.ts";
16
+ import type { Configuration } from "./ToolExposure.ts";
17
+
18
+ /** Prompt input produced directly or by an Effect that preserves its failure and requirements. */
19
+ export type InstructionResult<E = never, R = never> =
20
+ | Prompt.RawInput
21
+ | Effect.Effect<Prompt.RawInput, E, R>;
22
+
23
+ /** Static prompt input or an input-dependent source evaluated once while preparing a run. */
24
+ export type InstructionSource<Input, E = never, R = never> =
25
+ | Prompt.RawInput
26
+ | ((input: Input) => InstructionResult<E, R>);
27
+
28
+ /** Definition-owned projection from decoded Agent input to model-visible prompt content. */
29
+ export type InputPromptSource<Input, E = never, R = never> = (
30
+ input: Input,
31
+ ) => InstructionResult<E, R>;
32
+
33
+ /** Native services needed to execute and identify model calls. */
34
+ export type ModelServices = LanguageModel.LanguageModel | Model.ProviderName | Model.ModelName;
35
+
36
+ /**
37
+ * An optional capability on a provided LanguageModel service. The runtime supplies
38
+ * only model-visible task context and eligible Tool descriptions after validating input.
39
+ * The resolver owns retaining one choice per Thread, including across Runs and
40
+ * recovery; it captures client requirements and returns a closed native Layer
41
+ * that the interpreter acquires for the Run. Context hooks may prepare prompts
42
+ * but cannot replace this model through a per-Turn modelCall.
43
+ * Selection failures remain AiError values and all selector/client services stay in R.
44
+ */
45
+ export interface ModelResolver extends LanguageModel.LanguageModel {
46
+ readonly resolve: (request: {
47
+ readonly threadId: string;
48
+ readonly state: Schema.JsonObject;
49
+ }) => Effect.Effect<Layer.Layer<ModelServices>, AiError.AiError>;
50
+ }
51
+
52
+ /** Detect the deferred resolver capability on a trusted, host-provided model service. */
53
+ export const isModelResolver = (model: LanguageModel.LanguageModel): model is ModelResolver =>
54
+ "resolve" in model && typeof model.resolve === "function";
55
+
56
+ /** Accepts native model Layers that provide generation and model identity. */
57
+ export type NativeModel<ModelValue> =
58
+ ModelValue extends Layer.Layer<infer Provides, never, infer _Requires>
59
+ ? ModelServices extends Provides
60
+ ? ModelValue
61
+ : never
62
+ : never;
63
+
64
+ /** Definition-owned boundary for selecting and validating an application run disposition. */
65
+ export interface RunDispositionDeclaration<Output, DispositionSchema extends Schema.Top> {
66
+ /**
67
+ * Opt background workers into one retained assignment. The encoded disposition must be
68
+ * Worker.AssignmentDisposition: completed seals the worker, waiting leaves it steerable.
69
+ * Failures and exhausted Runs seal as failed; aborting an active Run seals as cancelled.
70
+ * The worker origin retains this choice. Omission preserves reusable workers.
71
+ */
72
+ readonly workerLifecycle?: "assignment" | undefined;
73
+ /** Canonical Schema used to validate and encode the selected disposition. */
74
+ readonly schema: DispositionSchema;
75
+ /** Pure selection from decoded output. `undefined` declares none, except for assignments. */
76
+ readonly fromOutput: (output: Output) => unknown;
77
+ }
78
+
79
+ /** Values available to a Definition-owned completion Tool projector after canonical decoding. */
80
+ export interface CompletionProjectionInput<Parameters = unknown, Result = unknown> {
81
+ readonly parameters: Parameters;
82
+ readonly result: Result;
83
+ }
84
+
85
+ /**
86
+ * One application Tool whose successful result can complete its owning Agent when it is the
87
+ * only application call. Provider-executed calls may accompany it only with terminal results.
88
+ * Mixed, wholly unexecuted application batches are rejected with failed Tool results so the
89
+ * model can correct them within ordinary Run budgets; completed provider results are retained.
90
+ * Missing provider results and invalid pending resumed batches fail closed. The completion
91
+ * designation never permits side-effect replay.
92
+ */
93
+ export interface CompletionToolDeclaration<
94
+ Parameters = unknown,
95
+ Result = unknown,
96
+ Output = unknown,
97
+ > {
98
+ readonly tool: string;
99
+ /** Require native Tool use on every model Turn and this Tool for final completion. */
100
+ readonly required?: boolean | undefined;
101
+ readonly project: (input: CompletionProjectionInput<Parameters, Result>) => Output;
102
+ }
103
+
104
+ type CompletionToolFor<ToolkitValue extends Toolkit.Any, Output> = {
105
+ readonly [Name in keyof ToolkitValue["tools"] & string]: CompletionToolDeclaration<
106
+ Tool.Parameters<ToolkitValue["tools"][Name]>,
107
+ Tool.Success<ToolkitValue["tools"][Name]>,
108
+ Output
109
+ > & { readonly tool: Name };
110
+ }[keyof ToolkitValue["tools"] & string];
111
+
112
+ /**
113
+ * An ordinary action Tool whose canonical success may satisfy the whole request.
114
+ * Projectors must be pure and deterministic: recovery re-evaluates them. None preserves
115
+ * ordinary continuation; Some is validated as the Agent output. These Tools must be the sole
116
+ * application call; terminal provider results may accompany them. They never receive the
117
+ * required completion Tool's exhaustion allowance.
118
+ */
119
+ export interface CompletionFromToolDeclaration<
120
+ Parameters = unknown,
121
+ Result = unknown,
122
+ Output = unknown,
123
+ > {
124
+ readonly tool: string;
125
+ readonly project: (input: CompletionProjectionInput<Parameters, Result>) => Option.Option<Output>;
126
+ }
127
+
128
+ type CompletionFromToolFor<ToolkitValue extends Toolkit.Any, Output> = {
129
+ readonly [Name in keyof ToolkitValue["tools"] & string]: CompletionFromToolDeclaration<
130
+ Tool.Parameters<ToolkitValue["tools"][Name]>,
131
+ Tool.Success<ToolkitValue["tools"][Name]>,
132
+ Output
133
+ > & { readonly tool: Name };
134
+ }[keyof ToolkitValue["tools"] & string];
135
+
136
+ /** Immutable, model-agnostic schemas, behavior, tools, and bounds for an agent. */
137
+ export interface Definition<
138
+ InputSchema extends Schema.Top,
139
+ OutputSchema extends Schema.Top,
140
+ Instructions,
141
+ ToolkitValue extends Toolkit.Any,
142
+ RunDispositionValue = undefined,
143
+ InputPromptValue = undefined,
144
+ UpdatesSchema extends Schema.Top | undefined = undefined,
145
+ > {
146
+ /** Stable agent identity; changing it creates a distinct definition identity. */
147
+ readonly id: AgentId;
148
+ /** Canonical Schema for intermediate updates emitted by this Agent. */
149
+ readonly updates?: UpdatesSchema;
150
+ /** Canonical schema used to decode and encode run input. */
151
+ readonly input: InputSchema;
152
+ /** Canonical schema used to decode the final model output. */
153
+ readonly output: OutputSchema;
154
+ /**
155
+ * Evaluated once while preparing each Run. OpenAI, xAI and native adapters advertising support
156
+ * preserve chronological system messages, omitting exact repeats only when no distinct system
157
+ * instruction intervenes. The actual selected model determines support on each call. Other
158
+ * adapters group systems first and keep the last exact repeat, including provider options;
159
+ * Anthropic requires an upstream adapter with mid-conversation system-message support.
160
+ * Stored history is unchanged.
161
+ */
162
+ readonly instructions: Instructions;
163
+ /** Optional projection from decoded input to model-visible native Effect AI prompt content. */
164
+ readonly inputPrompt?: InputPromptValue | undefined;
165
+ /** Native Effect AI toolkit whose failures and requirements remain visible. */
166
+ readonly toolkit: ToolkitValue;
167
+ readonly toolExposure?: Configuration | undefined;
168
+ /** Finite execution bounds enforced by the runtime. */
169
+ readonly policy: AgentPolicy;
170
+ /** Explicit policy fields, retained so delegated runs can inherit omitted fields. */
171
+ readonly policyOverrides?: Partial<AgentPolicyInput> | undefined;
172
+ /** Optional successful Tool result that projects directly to the Agent output and settles. */
173
+ readonly completion?: CompletionToolDeclaration | undefined;
174
+ readonly completionFromTools?: ReadonlyArray<CompletionFromToolDeclaration> | undefined;
175
+ readonly runDisposition?: RunDispositionValue | undefined;
176
+ readonly description?: string | undefined;
177
+ readonly metadata?: Readonly<Record<string, string>> | undefined;
178
+ }
179
+
180
+ /** Options for a model-agnostic agent definition. */
181
+ export interface DefinitionOptions<
182
+ InputSchema extends Schema.Top,
183
+ OutputSchema extends Schema.Top,
184
+ Instructions extends InstructionSource<InputSchema["Type"], unknown, unknown>,
185
+ ToolkitValue extends Toolkit.Any,
186
+ RunDispositionValue extends
187
+ | RunDispositionDeclaration<OutputSchema["Type"], Schema.Top>
188
+ | undefined = undefined,
189
+ InputPromptValue extends InputPromptSource<InputSchema["Type"], unknown, unknown> | undefined =
190
+ undefined,
191
+ UpdatesSchema extends Schema.Top | undefined = undefined,
192
+ > {
193
+ readonly updates?: UpdatesSchema;
194
+ readonly input: InputSchema;
195
+ readonly output: OutputSchema;
196
+ readonly instructions: Instructions;
197
+ readonly inputPrompt?: InputPromptValue | undefined;
198
+ readonly toolkit: ToolkitValue;
199
+ readonly toolExposure?: Configuration | undefined;
200
+ readonly policy?: Partial<AgentPolicyInput> | undefined;
201
+ readonly completion?: CompletionToolFor<ToolkitValue, OutputSchema["Type"]> | undefined;
202
+ readonly completionFromTools?:
203
+ | ReadonlyArray<CompletionFromToolFor<ToolkitValue, OutputSchema["Type"]>>
204
+ | undefined;
205
+ readonly runDisposition?: RunDispositionValue | undefined;
206
+ readonly description?: string | undefined;
207
+ readonly metadata?: Readonly<Record<string, string>> | undefined;
208
+ }
209
+
210
+ type AnyDefinitionShape = Definition<
211
+ Schema.Top,
212
+ Schema.Top,
213
+ unknown,
214
+ Toolkit.Any,
215
+ RunDispositionDeclaration<never, Schema.Top> | undefined,
216
+ unknown,
217
+ Schema.Top | undefined
218
+ >;
219
+
220
+ /** Immutable pairing of an agent definition with a native model Layer or thread resolver. */
221
+ export interface Binding<DefinitionValue extends AnyDefinitionShape, ModelValue> {
222
+ readonly definition: DefinitionValue;
223
+ readonly model: NativeModel<ModelValue>;
224
+ }
225
+
226
+ type InstructionEffect<Instructions, Input> = Instructions extends (input: Input) => infer Result
227
+ ? Result
228
+ : Instructions;
229
+
230
+ type InputPromptEffect<InputPrompt, Input> = InputPrompt extends (input: Input) => infer Result
231
+ ? Result
232
+ : never;
233
+
234
+ type EffectError<Value> =
235
+ Value extends Effect.Effect<infer _Success, infer Error, infer _Services> ? Error : never;
236
+
237
+ type EffectServices<Value> =
238
+ Value extends Effect.Effect<infer _Success, infer _Error, infer Services> ? Services : never;
239
+
240
+ type ModelRequirements<Value> =
241
+ Value extends Layer.Layer<infer _Provides, infer _Error, infer Services> ? Services : never;
242
+
243
+ /** Constructors and type projections for definitions and runnable model bindings. */
244
+
245
+ /** Type-erased definition used at generic framework boundaries. */
246
+ export type AnyDefinition = AnyDefinitionShape;
247
+
248
+ /** Read-only interpreter program or binding used at inspection and projection boundaries. */
249
+ export interface Any {
250
+ readonly definition: AnyDefinition;
251
+ readonly model?: unknown;
252
+ }
253
+
254
+ /** Native Tool configuration for inspection; it does not predict an invocation's outcome. */
255
+ export const ToolInspection = S.Struct({
256
+ name: S.String,
257
+ failureMode: S.Literals(["error", "return"]),
258
+ /** False for provider-executed Tools, whose results do not pass through local handlers. */
259
+ requiresHandler: S.Boolean,
260
+ });
261
+
262
+ export type ToolInspection = typeof ToolInspection.Type;
263
+
264
+ /**
265
+ * Inspect registered native Tools in declaration order without acquiring handlers or a Model.
266
+ * This is the full Definition toolkit, before run-specific visibility or exposure filtering.
267
+ * `failureMode` is Effect AI's configured mode, including its `"error"` default. Handler-level
268
+ * recovery, programmatic invocation and Subagent containment can change where failures go;
269
+ * consult execution diagnostics for the actual route. No arguments, results or services are read.
270
+ */
271
+ export const inspectTools = (agent: AnyDefinition | Any): ReadonlyArray<ToolInspection> => {
272
+ const definition = "definition" in agent ? agent.definition : agent;
273
+
274
+ return Object.values(definition.toolkit.tools).map((tool) =>
275
+ ToolInspection.make({
276
+ name: tool.name,
277
+ failureMode: tool.failureMode,
278
+ requiresHandler: !Tool.isProviderDefined(tool) || tool.requiresHandler,
279
+ }),
280
+ );
281
+ };
282
+
283
+ type DefinitionOf<AgentValue extends AnyDefinition | Any> = AgentValue extends {
284
+ readonly definition: infer DefinitionValue extends AnyDefinition;
285
+ }
286
+ ? DefinitionValue
287
+ : AgentValue;
288
+
289
+ type RunDispositionSchemaOf<DefinitionValue extends AnyDefinition> = [
290
+ Exclude<DefinitionValue["runDisposition"], undefined>,
291
+ ] extends [never]
292
+ ? never
293
+ : Exclude<DefinitionValue["runDisposition"], undefined> extends RunDispositionDeclaration<
294
+ never,
295
+ infer DispositionSchema
296
+ >
297
+ ? DispositionSchema
298
+ : never;
299
+
300
+ /** Literal Agent ID, retained by Agent.make. */
301
+ export type Name<A extends AnyDefinition | Any> = DefinitionOf<A>["id"] extends AgentId &
302
+ (infer N extends string)
303
+ ? N
304
+ : string;
305
+
306
+ /** Declared update Schema, or never for Agents without updates. */
307
+ export type UpdatesSchema<A extends AnyDefinition | Any> = Exclude<
308
+ DefinitionOf<A>["updates"],
309
+ undefined
310
+ >;
311
+
312
+ /** Decoded intermediate update value. */
313
+ export type Update<A extends AnyDefinition | Any> = UpdatesSchema<A>["Type"];
314
+
315
+ /** Decoded input type of a definition or binding. */
316
+ export type Input<AgentValue extends AnyDefinition | Any> =
317
+ DefinitionOf<AgentValue>["input"]["Type"];
318
+
319
+ /** Encoded input accepted by the primary execution operations. */
320
+ export type EncodedInput<AgentValue extends AnyDefinition | Any> =
321
+ DefinitionOf<AgentValue>["input"]["Encoded"];
322
+
323
+ /** Decoded output type of a definition or binding. */
324
+ export type Output<AgentValue extends AnyDefinition | Any> =
325
+ DefinitionOf<AgentValue>["output"]["Type"];
326
+
327
+ /** Input Schema carried by a definition or binding. */
328
+ export type InputSchema<AgentValue extends AnyDefinition | Any> = DefinitionOf<AgentValue>["input"];
329
+
330
+ /** Output Schema carried by a definition or binding. */
331
+ export type OutputSchema<AgentValue extends AnyDefinition | Any> =
332
+ DefinitionOf<AgentValue>["output"];
333
+
334
+ /** Application run-disposition Schema carried by a definition or binding, or `never`. */
335
+ export type RunDispositionSchema<AgentValue extends AnyDefinition | Any> = RunDispositionSchemaOf<
336
+ DefinitionOf<AgentValue>
337
+ >;
338
+
339
+ /** Decoded application run disposition declared by a definition or binding. */
340
+ export type RunDisposition<AgentValue extends AnyDefinition | Any> = [
341
+ RunDispositionSchema<AgentValue>,
342
+ ] extends [never]
343
+ ? never
344
+ : RunDispositionSchema<AgentValue>["Type"];
345
+
346
+ /** Validation failure admitted only by definitions that declare a run disposition. */
347
+ export type RunDispositionFailure<AgentValue extends AnyDefinition | Any> = [
348
+ RunDispositionSchemaOf<DefinitionOf<AgentValue>>,
349
+ ] extends [never]
350
+ ? never
351
+ : AgentRunDispositionError;
352
+
353
+ /** Effect AI tool map carried by a definition or binding. */
354
+ export type Tools<AgentValue extends AnyDefinition | Any> = Toolkit.Tools<
355
+ DefinitionOf<AgentValue>["toolkit"]
356
+ >;
357
+
358
+ type ApplicationTools<A extends AnyDefinition> = [UpdatesSchema<A>] extends [never]
359
+ ? Tools<A>
360
+ : Omit<Tools<A>, "emit_update">;
361
+
362
+ type ToolMapValues<ToolMap extends Record<string, Tool.Any>> = ToolMap extends unknown
363
+ ? ToolMap[keyof ToolMap]
364
+ : never;
365
+
366
+ /** All possible tools, including keys present in only one definition or binding branch. */
367
+ export type ToolUnion<AgentValue extends AnyDefinition | Any> = ToolMapValues<Tools<AgentValue>>;
368
+
369
+ /** Instruction, tool-handler, and Schema services required before a Model is bound. */
370
+ export type DefinitionRequirements<DefinitionValue extends AnyDefinition> =
371
+ DefinitionValue extends unknown
372
+ ?
373
+ | EffectServices<InstructionEffect<DefinitionValue["instructions"], Input<DefinitionValue>>>
374
+ | EffectServices<InputPromptEffect<DefinitionValue["inputPrompt"], Input<DefinitionValue>>>
375
+ | Tool.HandlersFor<ApplicationTools<DefinitionValue>>
376
+ | Tool.HandlerServices<ToolMapValues<ApplicationTools<DefinitionValue>>>
377
+ // The interpreter canonically re-encodes decoded Tool parameters before recording them.
378
+ | Tool.ParametersSchema<ToolUnion<DefinitionValue>>["EncodingServices"]
379
+ | Tool.SuccessSchema<ToolUnion<DefinitionValue>>["DecodingServices"]
380
+ | DefinitionValue["input"]["DecodingServices"]
381
+ | DefinitionValue["input"]["EncodingServices"]
382
+ | DefinitionValue["output"]["DecodingServices"]
383
+ | DefinitionValue["output"]["EncodingServices"]
384
+ | UpdatesSchema<DefinitionValue>["DecodingServices"]
385
+ | UpdatesSchema<DefinitionValue>["EncodingServices"]
386
+ | RunDispositionSchemaOf<DefinitionValue>["DecodingServices"]
387
+ | RunDispositionSchemaOf<DefinitionValue>["EncodingServices"]
388
+ : never;
389
+
390
+ /** Definition services plus native model services, or a binding's model Layer requirements. */
391
+ export type Requirements<AgentValue extends AnyDefinition | Any> =
392
+ | DefinitionRequirements<DefinitionOf<AgentValue>>
393
+ | (AgentValue extends { readonly model: infer ModelValue }
394
+ ? ModelRequirements<ModelValue>
395
+ : ModelServices);
396
+
397
+ // Distribute after unwrapping bindings too: withModel may itself contain a definition union.
398
+ type DefinitionFailure<DefinitionValue extends AnyDefinition> = DefinitionValue extends unknown
399
+ ?
400
+ | EffectError<InstructionEffect<DefinitionValue["instructions"], Input<DefinitionValue>>>
401
+ | EffectError<InputPromptEffect<DefinitionValue["inputPrompt"], Input<DefinitionValue>>>
402
+ | Tool.HandlerError<ToolUnion<DefinitionValue>>
403
+ : never;
404
+
405
+ /** Failures from every possible definition, preserving each branch's instruction input type. */
406
+ export type Failure<AgentValue extends AnyDefinition | Any> =
407
+ | DefinitionFailure<DefinitionOf<AgentValue>>
408
+ | AiError.AiError
409
+ | AgentInputError
410
+ | AgentOutputError
411
+ | RunDispositionFailure<AgentValue>;
412
+
413
+ /** Validate an agent ID and return a shallowly frozen, model-agnostic definition. */
414
+ export function make<
415
+ const Name extends string,
416
+ InputSchema extends Schema.Top,
417
+ OutputSchema extends Schema.Top,
418
+ Instructions extends InstructionSource<InputSchema["Type"], unknown, unknown>,
419
+ ToolkitValue extends Toolkit.Any,
420
+ DispositionSchema extends Schema.Top,
421
+ InputPromptValue extends InputPromptSource<InputSchema["Type"], unknown, unknown> | undefined,
422
+ UpdatesSchema extends Schema.Top | undefined = undefined,
423
+ >(
424
+ id: Name,
425
+ options: DefinitionOptions<
426
+ InputSchema,
427
+ OutputSchema,
428
+ Instructions,
429
+ ToolkitValue,
430
+ RunDispositionDeclaration<OutputSchema["Type"], DispositionSchema>,
431
+ InputPromptValue,
432
+ UpdatesSchema
433
+ > & {
434
+ readonly runDisposition: RunDispositionDeclaration<OutputSchema["Type"], DispositionSchema>;
435
+ readonly inputPrompt: InputPromptValue;
436
+ },
437
+ ): Definition<
438
+ InputSchema,
439
+ OutputSchema,
440
+ Instructions,
441
+ UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,
442
+ RunDispositionDeclaration<OutputSchema["Type"], DispositionSchema>,
443
+ InputPromptValue,
444
+ NoInfer<UpdatesSchema>
445
+ > & { readonly id: AgentId & Name };
446
+
447
+ export function make<
448
+ const Name extends string,
449
+ InputSchema extends Schema.Top,
450
+ OutputSchema extends Schema.Top,
451
+ Instructions extends InstructionSource<InputSchema["Type"], unknown, unknown>,
452
+ ToolkitValue extends Toolkit.Any,
453
+ DispositionSchema extends Schema.Top,
454
+ UpdatesSchema extends Schema.Top | undefined = undefined,
455
+ >(
456
+ id: Name,
457
+ options: DefinitionOptions<
458
+ InputSchema,
459
+ OutputSchema,
460
+ Instructions,
461
+ ToolkitValue,
462
+ RunDispositionDeclaration<OutputSchema["Type"], DispositionSchema>,
463
+ undefined,
464
+ UpdatesSchema
465
+ > & {
466
+ readonly runDisposition: RunDispositionDeclaration<OutputSchema["Type"], DispositionSchema>;
467
+ readonly inputPrompt?: undefined;
468
+ },
469
+ ): Definition<
470
+ InputSchema,
471
+ OutputSchema,
472
+ Instructions,
473
+ UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,
474
+ RunDispositionDeclaration<OutputSchema["Type"], DispositionSchema>,
475
+ undefined,
476
+ NoInfer<UpdatesSchema>
477
+ > & { readonly id: AgentId & Name };
478
+
479
+ export function make<
480
+ const Name extends string,
481
+ InputSchema extends Schema.Top,
482
+ OutputSchema extends Schema.Top,
483
+ Instructions extends InstructionSource<InputSchema["Type"], unknown, unknown>,
484
+ ToolkitValue extends Toolkit.Any,
485
+ InputPromptValue extends InputPromptSource<InputSchema["Type"], unknown, unknown> | undefined,
486
+ UpdatesSchema extends Schema.Top | undefined = undefined,
487
+ >(
488
+ id: Name,
489
+ options: DefinitionOptions<
490
+ InputSchema,
491
+ OutputSchema,
492
+ Instructions,
493
+ ToolkitValue,
494
+ undefined,
495
+ InputPromptValue,
496
+ UpdatesSchema
497
+ > & {
498
+ readonly inputPrompt: InputPromptValue;
499
+ readonly runDisposition?: undefined;
500
+ },
501
+ ): Definition<
502
+ InputSchema,
503
+ OutputSchema,
504
+ Instructions,
505
+ UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,
506
+ undefined,
507
+ InputPromptValue,
508
+ NoInfer<UpdatesSchema>
509
+ > & { readonly id: AgentId & Name };
510
+
511
+ export function make<
512
+ const Name extends string,
513
+ InputSchema extends Schema.Top,
514
+ OutputSchema extends Schema.Top,
515
+ Instructions extends InstructionSource<InputSchema["Type"], unknown, unknown>,
516
+ ToolkitValue extends Toolkit.Any,
517
+ UpdatesSchema extends Schema.Top | undefined = undefined,
518
+ >(
519
+ id: Name,
520
+ options: DefinitionOptions<
521
+ InputSchema,
522
+ OutputSchema,
523
+ Instructions,
524
+ ToolkitValue,
525
+ undefined,
526
+ undefined,
527
+ UpdatesSchema
528
+ > & {
529
+ readonly inputPrompt?: undefined;
530
+ readonly runDisposition?: undefined;
531
+ },
532
+ ): Definition<
533
+ InputSchema,
534
+ OutputSchema,
535
+ Instructions,
536
+ UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,
537
+ undefined,
538
+ undefined,
539
+ NoInfer<UpdatesSchema>
540
+ > & { readonly id: AgentId & Name };
541
+
542
+ export function make(
543
+ id: string,
544
+ options: {
545
+ readonly updates?: Schema.Top | undefined;
546
+ readonly input: Schema.Top;
547
+ readonly output: Schema.Top;
548
+ readonly instructions: unknown;
549
+ readonly inputPrompt?: unknown;
550
+ readonly toolkit: Toolkit.Any;
551
+ readonly toolExposure?: Configuration | undefined;
552
+ readonly policy?: Partial<AgentPolicyInput> | undefined;
553
+ readonly completion?: CompletionToolDeclaration | undefined;
554
+ readonly completionFromTools?: ReadonlyArray<CompletionFromToolDeclaration> | undefined;
555
+ readonly runDisposition?: RunDispositionDeclaration<never, Schema.Top> | undefined;
556
+ readonly description?: string | undefined;
557
+ readonly metadata?: Readonly<Record<string, string>> | undefined;
558
+ },
559
+ ): AnyDefinition {
560
+ const completionNames = new Set<string>();
561
+
562
+ for (const declaration of options.completionFromTools ?? []) {
563
+ if (declaration.tool === options.completion?.tool || completionNames.has(declaration.tool)) {
564
+ throw new Error(`Tool ${declaration.tool} has more than one completion declaration`);
565
+ }
566
+ if (!Object.hasOwn(options.toolkit.tools, declaration.tool)) {
567
+ throw new Error(`Unknown completion Tool ${declaration.tool}`);
568
+ }
569
+ completionNames.add(declaration.tool);
570
+ }
571
+
572
+ return Object.freeze({
573
+ ...options,
574
+ toolkit: withUpdateTool(options.toolkit, options.updates),
575
+ policy: AgentPolicy.resolve(options.policy),
576
+ policyOverrides: Object.freeze({ ...options.policy }),
577
+ toolExposure:
578
+ options.toolExposure === undefined
579
+ ? undefined
580
+ : Object.freeze({
581
+ ...options.toolExposure,
582
+ initialToolNames: Object.freeze([...(options.toolExposure.initialToolNames ?? [])]),
583
+ }),
584
+ id: S.decodeSync(AgentId)(id),
585
+ metadata: options.metadata === undefined ? undefined : Object.freeze({ ...options.metadata }),
586
+ completion:
587
+ options.completion === undefined ? undefined : Object.freeze({ ...options.completion }),
588
+ completionFromTools:
589
+ options.completionFromTools === undefined
590
+ ? undefined
591
+ : Object.freeze(
592
+ options.completionFromTools.map((declaration) => Object.freeze({ ...declaration })),
593
+ ),
594
+ runDisposition:
595
+ options.runDisposition === undefined
596
+ ? undefined
597
+ : Object.freeze({ ...options.runDisposition }),
598
+ });
599
+ }
600
+
601
+ /** Bind a native model or thread resolver without acquiring or hiding its requirements. */
602
+ export const withModel = <DefinitionValue extends AnyDefinition, ModelValue>(
603
+ definition: DefinitionValue,
604
+ model: NativeModel<ModelValue>,
605
+ ): Binding<DefinitionValue, ModelValue> =>
606
+ Object.freeze({
607
+ definition,
608
+ model,
609
+ });